javascript - 将 json 响应合并到已经初始化的对象 javascript
问题描述
我有两个不同的对象,但它们有一些共同的属性。两者都填充了一些值。如果 X 对象的值在两个对象中具有相同的键,我想分配 X 对象的值以覆盖 Y 的属性值,否则除了 y 的空道具键应该保留之外什么也不做。
我可以通过一些自定义映射操作来实现这个目的,但是有没有一种简单的方法可以在 javascript 中做到这一点?
var x = {
name: 'John',
addressInformation: null
}
var y = {
name: '',
paymentInformation: {
iban: '12313123',
cardNumber: '1231231231'
},
addressInformation: {
city: 'Berlin'
}
}
合并的对象应该在我的场景中:
y = {
name 'John',
paymentInformation: {
iban: '12313123',
cardNumber: '1231231231'
},
addressInformation: {
city: 'Berlin'
}
}
(我只分享了该对象的简化版本。还有更多属性)
解决方案
Object.assign或spread 运算符将完成这项工作。
const newObject = Object.assign(y, x);
const newObject = {
...y,
...x
}
另外,aweebit 说的很重要。
推荐阅读
- java - 扫描仪在尝试获取下一个时抛出空指针
- python - 使用 MapType 文字创建新列
- tensorflow2.0 - .prefetch() 和 .cache() 没有加速 tf.data.Dataset 管道
- angular - Angular 9 窗口滚动在 Internet Explorer 中不起作用
- python - 使用 PyInstaller 编译 python 会引发许多警告
- android - 无法从 `src\pages\home\index.js` 解析模块 `../images/icon.png`:
- typescript - 强制两个函数在 TypeScript 中采用相同的参数类型
- python - Pytorch 抛出越界错误?期望一个标量
- dockerfile - SageMaker ANSI 转义码
- javascript - 循环遍历 mongodb 文档 id 数组并查询该 id 并将结果存储在新数组中给出空数组