题目描述
在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组
示例1
输入 [1, 2, 3, 4], ‘z’, 2
输出 [1, 2, ‘z’, 3, 4]
思路一:for
function insert(arr, item, index) {
var newArr=[];
for(var i=0;i<arr.length;i++){
newArr.push(arr[i]);
}
newArr.splice(index,0,item);
return newArr;
}
思路二:slice+splice
function insert(arr, item, index) {
var newarr = arr.slice(0);
newarr.splice(index, 0, item);//第二个参数是要删除元素的个数,如果是0,不删除元素
return newarr;
}
思路三:一行搞定
function insert(arr, item, index) {
return arr.slice(0,index).concat(item,arr.slice(index));
}