es6更新现有父对象的子对象的方法

时间:2018-06-14 17:54:18

标签: javascript object ecmascript-6

我觉得有一种方法可以简化使用ES6在父对象中更新某些嵌套对象的方法,但是我无法用语言表达或跟踪语法。

我目前有这个:

entryData = {
  exchangeData: {...}
  scenes: {...},
  takeover: {...},
}

我定期轮询API以仅更新scenestakeover子对象:

APP.api.getEntryContent().then((data) => {
  //data = { scenes: {...}, takeover: {...}
  entryData.scenes = data.scenes;
  entryData.takeover = data.takeover;
});

但是我觉得这里只有一个像entryData = {...data}这样的内容 - 但是当我这样做时,它会删除exchangeData对象。我如何更新从API返回的数据?

1 个答案:

答案 0 :(得分:1)

您可以使用Object.assign()

var entry = {
  exchangeData: {"ab":1},
  scenes: {"a":1,"b":2},
  takeover: {"a":1,"b":1}
};
var data = {
  scenes: {"a":2,"b":5},
  takeover: {"a":2,"b":6}
};
entry = Object.assign(entry,data);
console.log(entry);