在JavaScript中复制对象之间的属性

时间:2016-01-29 14:58:14

标签: javascript

我将一些JSON加载到JavaScript中。这两个对象具有不同的格式。但是,我想将信息从一个复制到另一个。

var myCollection = {
  name: '2007',
  items: [
    {
      name: 'item 1'
    }
  ]
};

var data = {
  path: 'somewhere',
  children: []
};

我想将data对象的所有属性复制到myCollection.items[0]对象中。实际上,data将拥有更多属性。所以,我试图找出如何尽可能动态地做到这一点,而不是蛮力方法。

我想要做

myCollection.items[0] = data;

在我看来,这种方法不起作用。

1 个答案:

答案 0 :(得分:2)

按下

myCollection.items.push(data);

或者,如果你可以使用ES6并且不想改变结构,我认为你可以:

let newItems = [...myCollection.items, data]
let newObj = Object.assign({}, myCollection, {items: newItems})