MDN
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
说明
Object.assign()方法将所有可枚举和自有属性从一个或多个源对象复制到目标对象,返回修改后的对象。
用法
1、Object.assign()可以用来处理数组,但是会把数组视为对象。
let arr1 = [1,2,3];
let arr2 = [4,5];
let arr = Object.assign(arr1,arr2)
console.log(arr);
//[4,5,3]
解释:Obect.assign把数组视为属性名为0、1、2的对象,所以此例中arr1和arr2如下:
let obj1 = Object.assign({},arr1)
console.log(obj1)
// {0: 1, 1: 2, 2: 3}
let obj2 = Object.assign({},arr2)
console.log(obj2)
// {0: 4, 1: 5}
Object.assign(obj1,obj2)
// {0: 4, 1: 5, 2: 3}
因此源数组arr2的0号属性'4',覆盖了目标数组arr1的0号属性'1'。
本文详细介绍了JavaScript的Object.assign()方法如何处理数组,以及其在合并数组时的特殊行为,展示了源数组和目标数组属性覆盖的问题。通过实例演示,理解对象复制与数组合并的技巧。
2140

被折叠的 条评论
为什么被折叠?



