作者:zccst
首先定义一个数组如果
var a = [1,2,3,4,5];
比如要求删除第一个元素,即期望删除后变成[1,3,4,5],当然要求不使用系统函数
delete a[1]; //不符合需求 [1, undefined, 3, 4, 5]
a[1] = null; //不符合需求 [1, null, 3, 4, 5]
a.splice(1,1); //不符合需求,能达到效果,但使用了系统函数
既然是学习,顺便温习一下splice的用法,splice有三个参数,前两个是必须的a.splice( position, howmany,
replaceItem1, ..., replaceitemX);
position: 必须。表示起始位置
wantDelNum:必须。要删除的项目数量。如果设置为 0,则不会删除项目
replaceItem1:可选。向数组添加的新项目
例如:a.splice(1,1);表示从位置1开始,删掉1个元素,并且不填充新元素。
靠谱的实现方法一:
var a = [1,2,3,4,5];
//delete a[1];//a[1] = null;
//a.splice(1,1);function mySplice(arr, index){
if(index >= 0 && index<arr.length){
for(var i = index; i < arr.length; i++){
arr[i] = arr[i+1];
}
arr.length = arr.length-1;
}
return arr;
}console.log(mySplice(a,1));
靠谱的实现方法二:
时间: 2024-12-19 05:43:59