首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将多个Javascript对象连接成一个对象

将多个Javascript对象连接成一个对象
EN

Stack Overflow用户
提问于 2018-07-04 00:14:41
回答 3查看 92关注 0票数 0

我试图将所有javascript对象都添加到一个变量中,但不是在同一个对象中。我的意思是:

代码语言:javascript
复制
object1 = {id: 1, name: Dean};
object2 = {id: 2, name: Sam};
object3 = {id: 3, name: Castiel};

我需要它们是:

代码语言:javascript
复制
object1 = {id: 1, name: Dean}, {id: 2, name: Sam}, {id: 3, name: Castiel};

我目前正在从一个ajax调用中检索所有这些信息,并且需要遍历它,并在一个有效的javascript对象中返回它,然后将所有这些对象一次性传递给一个变量:

代码语言:javascript
复制
var hierarchy;
for (i = 0; i < response['tree']['id'].length; i++) {

    hierarchy = $.extend(true, hierarchy, {
        id: response['tree']['id'][i],
        parentId: response['tree']['parentId'][i], 
        Name: response['tree']['name'][i]
    });
}

var orgchart = new getOrgChart(document.getElementById("cast"), {
    dataSource: [hierarchy]
});

主要目标: dataSource属性需要以如下形式的值结束:

代码语言:javascript
复制
var orgchart = new getOrgChart(document.getElementById("cast"), {
    dataSource: [{id: 1, name: Dean}, {id: 2, name: Sam}, {id: 3, name: Castiel}]
});

编辑: SOLUTION,基于提供的答案,我修改了代码,现在它可以正常工作了,我误解了控制台日志输出的内容和允许的语法。

代码语言:javascript
复制
var hierarchy = [];
for (i = 1;i < response['tree']['id'].length; i++) {

    groupData = {
        id: response['tree']['id'][i],
        parentId: response['tree']['parentId'][i], 
        Name: response['tree']['name'][i]
    };

    hierarchy.push(groupData);
}

var orgchart = new getOrgChart(document.getElementById("cast"), {
    dataSource: [{
        id: response['tree']['id'][0],
        parentId: response['tree']['parentId'][0], 
        Name: response['tree']['name'][0]
    }]
});

orgchart.loadFromJSON(hierarchy);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-04 00:25:38

我想指出下面的代码是无效的。

代码语言:javascript
复制
object1 = {id: 1, name: Dean}, {id: 2, name: Sam}, {id: 3, name: Castiel};

您应该使用一个数组来保存这些值,如下所示:

代码语言:javascript
复制
const objects = [{id: 1, name: Dean}, {id: 2, name: Sam}, {id: 3, name: Castiel}];

注意:您将能够使用push()将新对象添加到数组中。

票数 3
EN

Stack Overflow用户

发布于 2018-07-04 00:32:34

因为我喜欢这个节目

代码语言:javascript
复制
var parent = { objectOne: { id: 1, name: 'Dean' },  objectTwo: { id: 2, name: 'Sam' },  object3: { id: 3, name: 'Castiel' } }

或者作为一个数组

代码语言:javascript
复制
var parent = [{ id: 1, name: 'Dean' }, { id: 2, name: 'Sam' }, { id: 3, name: 'Castiel' } ]

希望这能有所帮助

票数 0
EN

Stack Overflow用户

发布于 2018-07-04 00:38:08

你目前的我需要他们:要求是无效的与Javascript。

代码语言:javascript
复制
object1 = {id: 1, name: Dean}, {id: 2, name: Sam}, {id: 3, name: Castiel};

你可以试着用这种方式,

代码语言:javascript
复制
var obj = {
  object1: {
    id: 1,
    name: 'Dean'
  },
  object2: {
    id: 2,
    name: 'Sam'
  },
  object3: {
    id: 3,
    name: 'Castiel'
  }
};

var allObj = [];

// Populate allObj array
for (var key in obj) {
  allObj.push(obj[key]);
}
console.log(allObj);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51159066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档