js数组拼接的多种方法

62 阅读1分钟

方法一:for循环

var arr1 = [0, 1];
var arr2 = [2, 3];
for(var i=0; i<arr2.length; i++){
  arr1.push(arr2[i])
}
console.log(arr1); // [0, 1, 2,3]

方法二:concat()

var arr1 = [0, 1];
var arr2 = [2, 3];
var newArr = arr1.concat(arr2);
console.log(newArr); // [0, 1, 2,3]

var arr = [1,3,5,7];
var arrCopy = arr.concat(9,[11,13]);
console.log(arrCopy); // [1, 3, 5, 7, 9, 11, 13]
console.log(arr); // [1, 3, 5, 7] (原数组未被修改)

方法三:apply 劫持数组的 push 方法(推荐)

var arr1 = [0, 1];
var arr2 = [2, 3];
arr1.push.apply(arr1, arr2);
console.log(arr1) // [0, 1, 2,3]

方法四:使用 es6 中的 ‘点语法’ 扩展运算符(推荐)

var arr1 = [0, 1];
var arr2 = [2, 3];
arr1.push(...arr2);
console.log(arr1) // [0,1,2,3]