删除数组中的某个元素
在之前的文章中也介绍过类似的东西,主要操作的方式是利用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
查看15道真题和解析