js数组是js部分非常重要的知识,有时我们有这么个需求js数组删除指定元素,先定义一个函数来获取删除指定元素索引值,然后用js数组删除的方法,来删除指定元素即可,就两步不难,很简单。
1、JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,也就是索引值,代码如下:
1 2 3 4 5 6 | Array.prototype.indexOf = function (val) { for ( var i = 0; i < this .length; i++) { if ( this [i] == val) return i; } return -1; }; |
2、使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素,代码如下:
1 2 3 4 5 6 | Array.prototype.remove = function (val) { var index = this .indexOf(val); if (index > -1) { this .splice(index, 1); } }; |
这样就构造了这样一个js数组删除函数
3、案例:要删除如下myCase数组中的 'cd':
1 | var myCase= new Array( "abk" , "djp" , "dcg" , "cd" ); |
就可以直接使用了:
4、最后
验证一下,js数组删除指定元素是否成功:
1 | console.log(myCase[3]); |
我们可以在控制台看到 undefined未定义,说明数组的第四项已经删除了。
5、案例完整版代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | < 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 > |
原文地址:http://tangjiusheng.com/js/178.html