js 在数组中任意位置插入一个数组

在数组1中的任意位置插入数组2中的所有数据
例:var arr1 = ["1","2","3"]
var arr2 = ["a","b","c"]
结果:在索引0的位置插入
输出 arr1 = ["a","b","c","1","2","3"]
结果:在索引1的位置插入
输出 arr1 = ["1","a","b","c","2","3"]
依次这种

function insert(arrfirst,arrlast,index){    //将数组arrlast插入数组arrfirst中,index是想要插入的位置
if (index < 0){
index = 0;
}else if(index > arrfirst.length){
index = arrfirst.length;
}
var arr = [];
for (var i = 0; i < index; i++){
arr.push(arrfirst[i]);
}
for (var i = 0; i < arrlast.length; i++){
arr.push(arrlast[i]);
}
for (var i = index; i < arrfirst.length; i++){
arr.push(arrfirst[i]);
}
return arr;
}
var arr1 = ["1","2","3"];
var arr2 = ["a","b","c"];
console.log(insert(arr1,arr2,0));    
alert(insert(arr1,arr2,1));

还有一种方法

function insert(arrfirst,arrlast,index){
if (index < 0){
index = 0;
}else if(index > arrfirst.length){
index = arrfirst.length;
}
for (var i = arrlast.length-1; i >= 0; i--){
arrfirst.splice(index,0,arrlast[i]);//是在index位置用arrlast[i]替换掉arrfirst数组中的0个元素
}
return arrfirst;
}
var arr1 = ["1","2","3"];
var arr2 = ["a","b","c"];
console.log(insert(arr1,arr2,0));    
alert(insert(arr1,arr2,1));

希望能帮到你

温馨提示:答案为网友推荐,仅供参考
相似回答