删除数组中的某一个元素
作者: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));
靠谱的实现方法二: