JavaScript中两个数组的拼接

156 阅读1分钟

方法一:使用for循环

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

方法二:使用concat(),注意concat()方法生成了一个新的数组,并不改变原来的数组。

var arr = ['tom', 'jerry'];
var arr2 = [1, 2];

var newArr = arr.concat(arr2);
console.log(newArr);
// ["tom", "jerry", 1, 2]

方法三: 使用apply劫持数组的push方法(推荐,apply具体使用方法参考MDN)

var arr = ['tom', 'jerry'];
var arr2 = [1, 2];

arr.push.apply(arr, arr2);
console.log(arr)
// ["tom", "jerry", 1, 2]

apply扩展: for(var i=0;i<arr2;i++){

      arr1.push(arr2[i]);

}

arr1=Array.apply(null,arr2)

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

var arr = ['tom', 'jerry'];
var arr2 = [1, 2];

arr.push(...arr2);
console.log(arr)
// ["tom", "jerry", 1, 2]

var aa = [...arr,...arr2]
console.log(aa)
VM705:4 (4) ["tom", "jerry", 1, 2]