废话不多说,直接上代码:
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了;
打完收工。