如何从数组中删除特定元素

时间:2011-12-09 05:16:09

标签: javascript

我有一个像treeids = ['a','b','c','d'];这样的数组 我想删除'b'元素。通过使用索引,我们可以做,但我想要使用索引,因为这些值动态地进入此数组。 只需删除名称即可。 它应该支持在IE7浏览器中。 怎么做。

由于

3 个答案:

答案 0 :(得分:3)

JavaScript 1.6提供Array.filter,可满足您的需求。

当然,正如您可以从底部的浏览器支持表中看到的那样,如果您必须支持早于IE 9的IE,那么您运气不佳。

jQuery提供了jQuery.grep,它做了同样的事情,但引入了单独库的开销。

Underscore.js有_.filter,但同样,这将仅使用一个单独的库。

答案 1 :(得分:2)

尝试以下方法:

treeids.splice(treeids.indexOf('b'), 1);

现在treeid将包含剩余的...这里'b'是要删除的元素。 indexOf的参数可以来自变量。另外,您应该检查错误:索引不应该是-1。

答案 2 :(得分:0)

这将删除所有'b':

Array.prototype.remove= function(item){
    var L= this.length, indexed;
    while(L){
        indexed= this[--L];
        if(indexed=== itm) this.splice(L, 1);
    }
    return this;
}

拼接在IE7(和6)中可用。它删除了第二个参数中传递的项数,从第一个参数指定的索引开始。