JS数组合并push与concat区别分析
push方法
push()
是JavaScript内置方法之一,用于向数组末尾添加元素,并返回数组的新长度。
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
arr1.push(...arr2);
console.log(arr1); // [1, 2, 3, 4, 5, 6]
此时arr1
的值已经发生了改变,其元素为[1, 2, 3, 4, 5, 6]
。
concat方法
concat()
也是JavaScript内置方法之一,它用于合并两个或多个数组,并返回新的合并后的数组,但不会修改原始数组。
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = [7, 8, 9];
let arr4 = arr1.concat(arr2, arr3);
console.log(arr4); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
此时,arr1
、arr2
、arr3
的值仍然是不变的,而arr4
的值为合并后的数组[1, 2, 3, 4, 5, 6, 7, 8, 9]
。
push和concat区别
push和concat都可以用来合并数组,但是它们的区别在于:
push()
方法会修改原始数组,将新元素添加到数组的末尾。而concat()
方法不会修改原始数组,而是返回一个新数组。- 使用
push()
合并数组时,需要使用扩展运算符来展开数组。因为push()
方法只能接受一个参数,所以需要把新的数组展开为单个参数。 在使用concat()
方法时,则可以直接传入多个数组作为参数。
因此,如果需要修改原始数组,则可以使用push()
来合并数组;否则,可以使用concat()
来合并数组。
示例一:
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let result = arr1.push(...arr2);
// arr1 = [1, 2, 3, 4, 5, 6]
// arr2 = [4, 5, 6]
// result = 6
示例二:
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = [7, 8, 9];
let result = arr1.concat(arr2, arr3);
// arr1 = [1, 2, 3]
// arr2 = [4, 5, 6]
// arr3 = [7, 8, 9]
// result = [1, 2, 3, 4, 5, 6, 7, 8, 9]
在这两个示例中,我们可以看到push()
方法会直接修改原始数组arr1
,并返回新长度;而concat()
方法则不会修改原始数组,而是返回新的数组并给变量result
赋值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS数组合并push与concat区别分析 - Python技术站