我希望将两个具有相同属性的对象合并成一个数组。
以这个为例:
object1 = {"id":1,
"name":name1,
"children":[{"id":2,"name":name2}]
};
object2 = {"id":3,
"name":name3,
"children":[{"id":4,"name":name4}]
};
object3 = {"id":1,
"name":name1,
"children":[{"id":6,"name":name6}]
};
var result = Object.assign(result,object1,object2,object3);
预期结果:
JSON.stringify([result]) =[
{"id":1,
"name":name1,
"children":[{"id":2,"name":name2},
{"id":6,"name":name6}]
},
{"id":3,
"name":name3,
"children":[{"id":4,"name":name4}]
}
]
实际结果:
JSON.stringify([result]) = [
{"id":3,
"name":name3,
"children":[{"id":4,"name":name4}]
}
]
看来 Object.assign() 不是正确的选择,因为它会覆盖对象属性,而我不希望它覆盖,我想要合并对象属性。有没有更好的方法可以实现这个功能?
JSON.stringify([result])
是一个对象数组,这需要result
是多个对象 - 显然是不可能的。 - Jaromanda X