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



我觉得有一种方法可以用 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 返回的数据?

您可以使用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);

最新更新