方法一
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
arr1 = arr1.concat(arr2);
console.log(arr1); //此处输出为 [0, 1, 2, 3, 4, 5]
concat方法连接arr1、arr2两个数组后,arr1、arr2两个数组的数据不变,同时会返回一个新的数组。
这样当我们需要进行多次的数组合并时,会造成很大的内存浪费,如果是数据量比较小的时候,还可以勉强用,如果数据量大的时候,这个就不妥了,所以这个方法肯定不是最好的。
方法二
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
Array.prototype.push.apply(arr1, arr2);
console.log(arr1) //此处输出为 [0, 1, 2, 3, 4, 5]
方法三
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
for( var i = 0; i < arr2.length; i++){
arr1.push(arr2[i]);
}
console.log(arr1) //此处输出为 [0, 1, 2, 3, 4, 5]
方法四
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
arr1.push(...arr2);
console.log(arr1) //此处输出为 [0, 1, 2, 3, 4, 5]
方法五
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
var arr3 = [...arr1, ...arr2]
console.log(arr3) ///此处输出为 [0,1,2,3,4,5]
预先判断a、b两个数组哪个更大,然后使用大数组合并小数组,这样就减少了数组元素操作的次数
网友评论