我有2个两级JavaScript结构,我需要合并。什么是最简单的方法?
var object1={
"section1": {
"prop1": 0,
"prop2": 0
},
"section2": {
"something": 0,
"other": 0
}
}
var object2={
"section1": {
"prop1": 1
}
}
object2包含用户在UI中所做的更改,我需要获取合并对象,显示所有数据,只有object2中存在的对象2中存在的那些属性。
答案 0 :(得分:1)
您可以使用Object.keys()
和reduce()
执行此操作,如果在{object1} Object.assign()
找到密钥,则更新每个对象。
var object1={
"section1": {
"prop1": 0,
"prop2": 0
},
"section2": {
"something": 0,
"other": 0
}
}
var object2={
"section1": {
"prop1": 5
}
}
var result = Object.keys(object1).reduce(function(r, k) {
if(object2[k]) {
r[k] = Object.assign({}, object1[k], object2[k]);
} else {
r[k] = object1[k];
}
return r;
}, {});
console.log(result);
答案 1 :(得分:0)
var mergedObj = Object.assign({}, object1, object2)
如果我正确理解你的问题。