代码改变世界

删除数组中的某个元素

2013-05-31 23:55  Barret李靖  阅读(769)  评论(0编辑  收藏  举报

在之前的文章中也介绍过类似的东西,主要操作的方式是利用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

 .                                                                                                                         .                                                                                               .                 .                                  .                                                                                                                                .