网站推广.NET

网站推广.NET

在JS数组中如何删除某个元素

来源:互联网

下面我就为大家分享一篇js删除数组里的某个元素方法,具有很好的参考价值,希望对大家有所帮助。

删除数组指定的某个元素

首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为:

Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; } return -1; };

然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:

代码为:

Array.prototype.remove = function(val) { var index = this.indexOf(val); if (index > -1) { this.splice(index, 1); } };

这样就构造了这样一个函数,比如我有有一个数组:

var emp = [&#39;abs&#39;,&#39;dsf&#39;,&#39;sdf&#39;,&#39;fd&#39;]

假如我们要删除其中的 'fd' ,就可以使用:

emp.remove(&#39;fd&#39;);

删除的数组的某一项

splice(index,len,[item]) 注释:该方法会改变原始数组。

splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值

index:数组开始下标 len: 替换/删除的长度 item:替换的值,删除操作的话 item为空

如:arr = ['a','b','c','d']

删除

//删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变) var arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; arr.splice(1,1); console.log(arr); //[&#39;a&#39;,&#39;c&#39;,&#39;d&#39;];   //删除起始下标为1,长度为2的一个值(len设置2) var arr2 = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;] arr2.splice(1,2); console.log(arr2); //[&#39;a&#39;,&#39;d&#39;]

替换

//替换起始下标为1,长度为1的一个值为‘ttt&#39;,len设置的1 var arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; arr.splice(1,1,&#39;ttt&#39;); console.log(arr);   //[&#39;a&#39;,&#39;ttt&#39;,&#39;c&#39;,&#39;d&#39;]   var arr2 = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; arr2.splice(1,2,&#39;ttt&#39;); console.log(arr2);   //[&#39;a&#39;,&#39;ttt&#39;,&#39;d&#39;] 替换起始下标为1,长度为2的两个值为‘ttt&#39;,len设置的1

添加 ---- len设置为0,item为添加的值

var arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; arr.splice(1,0,&#39;ttt&#39;); console.log(arr);   //[&#39;a&#39;,&#39;ttt&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;] 表示在下标为1处添加一项&#39;ttt&#39;<span style="font-size:14px;font-family:Arial, Helvetica, sans-serif;background-color:rgb(255,255,255);"> </span>

delete方法删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变

var arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; delete arr[1]; arr; //["a", undefined × 1, "c", "d"] 中间出现两个逗号,数组长度不变,有一项为undefined

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

关于vue2.0中datepicker使用方法

JavaScript调停者模式(详细教程)

在jQuery中有关Dom元素使用方法?

js数组删除