js内的合并对象Object.assign()

废话不多说,直接上代码:

var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };
 
var obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1);  // { a: 1, b: 2, c: 3 }, 注意目标对象自身也会改变。

*对于上文对象自身也会变化的问题其实有一个很简单的解决办法:

声明一个空的对象,作为assign的第一个参数:

var  emptyObj = {};
Obj.assign(emptyObj,o1,02,o3);//这样合并的结果就不会改变o1,o2,o3了;

打完收工。

猜你喜欢

转载自www.cnblogs.com/sherlock-Ace/p/10812721.html