例如,从这两个对象:
var object1 = {
"color": "yellow",
"size": null,
"age": 7,
"weight": null
}
var object2 = {
"color": "blue",
"size": 51,
"age": null
}
我想要这个(object2
覆盖 object1
除了 null
属性或他没有的属性):
{
"color": "blue",
"size": 51,
"age": 7,
"weight": null
}
最佳答案
var src = { name: 'Apple', price: 5};
var dst= angular.copy(src);
- 深拷贝
Extend :
var mergedObject = angular.extend(dst, src1, src2, ...)
- 浅拷贝
Merge :
var mergedObject = angular.merge(dst, src);
- 从 angular 1.4+ 开始
- 深度(递归)复制
如果不想被null覆盖,可以使用this .
let movie2 = Object.assign({}, movie1, { episode: 8 });
- 适用于 Angular 2+ (ECMAScript 6)
来源:
关于javascript - 如何合并对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28473574/