下面分享一个删除数组中一个元素的JS方法,有很好的参考价值。希望对你有帮助。来和边肖一起看看吧。
针对JS删除数组中一个元素的经典问题,边肖整理了各种情况下的函数编写以及遇到问题的分析。以下是全部内容:
删除数组指定的某个元素
删除js数组https://www.jb51.net/article/154737.htm中一项或多项的几种方法
首先,可以为JS的array对象定义一个函数,用来查找指定元素在数组中的位置,也就是索引。代码是:
array . prototype . index of=function(val){
for(var I=0;我这.长度;i ) {
if (this[i]==val)返回I;
}
return-1;
};
然后用获取这个元素的索引,用js数组的固有函数删除这个元素:
代码是:
array . prototype . remove=function(val){
var index=this . index of(val);
if (index -1) {
this.splice(索引,1);
}
};
这样就构造了这样一个函数。例如,我有一个数组:
var emp=[abs , dsf , sdf , fd]
如果我们想删除其中的“fd ”,我们可以使用:
EMP . remove( FD );
删除的数组的某一项
Splice(index,len,[item])注意:这个方法会改变原来的数组。
Splice有三个参数,也可以用来替换/删除/添加数组中的一个或多个值。
Index:数组开始下标len:替换/删除项的长度:替换的值,删除时该项为空。
例如arr=[a , b , c , d]
删除
//删除起始下标为1、长度为1的值(len设置为1,如果为0,则数组不变)
var arr=[a , b , c , d ];
arr.splice(1,1);
console . log(arr);
//[a , c , d ];
//删除起始下标为1、长度为2的值(len设置为2)
var arr2=[a , b , c , d]
arr2.splice(1,2);
console . log(arr 2);
//[a , d]
替换
//将“ttt”的值替换为起始下标1和长度1,以及len设置的值1
var arr=[a , b , c , d ];
arr.splice(1,1, TTT );
console . log(arr);
//[a , ttt , c , d]
var arr2=[a , b , c , d ];
arr2.splice(1,2, TTT );
console . log(arr 2);
//[a , ttt , d]将起始下标为1、长度为2的两个值替换为“TTT”,1由len设置。
添加 ---- len设置为0,item为添加的值
var arr=[a , b , c , d ];
arr.splice(1,0, TTT );
console . log(arr);
//[a , ttt , b , c , d]表示在1的下标处加一个 ttt 。
delete方法删除数组中的元素后,会将它下面标记的值设置为未定义,数组的长度不会改变。
var arr=[a , b , c , d ];
删除arr[1];
arr
//[a ,undefined 1, c , d]中间有两个逗号,数组长度不变,有一项未定义。
上面删除数组中一个元素的JS方法就是边肖分享的全部内容。希望给大家一个参考,支持我们。