JavaScript 将一个数组插入到另一个数组的指定位置中

3,542 阅读1分钟

方法1

var arr1 = ['a', 'b', 'c']; 
var arr2 = ['1', '2', '3']; 

// 把arr1的前2个参数插入到arr2的前面
arr2.unshift(2, 0); // 或者先把arr2 reverse 翻转,再把参数push进去,然后再把数组翻转回来

console.log(arr2); 
//[2, 0, "1", "2", "3"]

[].splice.apply(arr1, arr2); 

console.log(arr1); 

//["a", "b", "1", "2", "3", "c"]

方法2

// 在原型上自定义一个方法
Array.prototype.insert = function(index, arr) {
    this.splice.apply(this, [index, 0].concat(arr);
    return this;
};

// 使用
["a", "b", "c", "d"].insert(2, ["X", "Y", "Z"]);

// 结果 ["a", "b", "X", "Y", "Z", "c", "d"]