删除数组中的某个元素
在之前的文章中也介绍过类似的东西,主要操作的方式是利用splice这个便利函数。
我们要删除,Arr数组中的元素b,具体做法是:
//第一步是获取b在Arr中的位置 var index = Arr.indexOf(b); //第二步就是利用splice删除该元素 Arr.splice(b, 1);
简单点写就是:
Arr.splice(Arr.indexOf(b), 1); //这里的b可以是任意对象
注:并非所有浏览器都支持indexOf这个函数,可能你需要自己写一个遍历函数获取到需要查询元素b的索引值。
下面是我随便写的一个Array对象的扩展:
Array.prototype.index = function(obj){ for(var i = 0, len = this.length; i < len; i++){ if(this[i] === obj) return i; } } Array.prototype.del = function(obj){ this.splice(this.indexOf(obj), 1); return this; }
测试地址:DEMO