我觉得有一种方法可以简化使用ES6在父对象中更新某些嵌套对象的方法,但是我无法用语言表达或跟踪语法。
我目前有这个:
entryData = {
exchangeData: {...}
scenes: {...},
takeover: {...},
}
我定期轮询API以仅更新scenes
和takeover
子对象:
APP.api.getEntryContent().then((data) => {
//data = { scenes: {...}, takeover: {...}
entryData.scenes = data.scenes;
entryData.takeover = data.takeover;
});
但是我觉得这里只有一个像entryData = {...data}
这样的内容 - 但是当我这样做时,它会删除exchangeData
对象。我如何更新从API返回的数据?
答案 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);