js数组是js部分非常重要的知识,有时我们有这么个需求js数组删除指定元素,先定义一个函数来获取删除指定元素索引值,然后用js数组删除的方法,来删除指定元素即可,就两步不难,很简单。

js数组删除指定元素(js删除数组的几种方法)(1)

1、JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,也就是索引值,代码如下:

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

2、使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素,代码如下:

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

这样就构造了这样一个js数组删除函数

3、案例:要删除如下myCase数组中的 'cd':

 var myCase=new Array("abk","djp","dcg","cd");

就可以直接使用了:

myCase.remove('cd');

4、最后

验证一下,js数组删除指定元素是否成功:

 console.log(myCase[3]);

我们可以在控制台看到 undefined未定义,说明数组的第四项已经删除了。

js数组删除指定元素(js删除数组的几种方法)(2)

5、案例完整版代码:

<script type="text/javascript">
 Array.prototype.indexOf = function(val) {
 for (var i = 0; i < this.length; i++) {
 if (this[i] == val) return i;
 }
 return -1;
 };
 Array.prototype.remove = function(val) {
 var index = this.indexOf(val);
 if (index > -1) {
 this.splice(index, 1);
 }
 };
 var myCase=new Array("abk","djp","dcg","cd");
 myCase.remove('cd');
 console.log(myCase[3]); //打印出结果:undefined
</script>