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

标签 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 返回的数据?

最佳答案

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

关于javascript - es6更新现有父对象的子对象的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50863295/

相关文章:

javascript - 解构 JS 中的不同类型

javascript - ES6 模块是同步加载还是异步加载?

javascript - 为什么 for..in 循环不遍历对象的原型(prototype)

javascript - 将对象转换为适合 ajax post 的数组

javascript - 具有 ECMAScript 6 验证的 Eclipse IDE 替代品

javascript - 在单个 .on() 调用中绑定(bind)多个事件

javascript - 在 Javascript 中使用函数作为类似 C# 的属性来访问私有(private)数据是一个好习惯吗?

javascript - react native : Compare app versions and return major or minor strings

javascript - 使用javascript问题更新span标签值

javascript - 从对象列表创建嵌套对象