我有一个像treeids = ['a','b','c','d'];
这样的数组
我想删除'b'元素。通过使用索引,我们可以做,但我想要使用索引,因为这些值动态地进入此数组。
只需删除名称即可。
它应该支持在IE7浏览器中。
怎么做。
由于
答案 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)中可用。它删除了第二个参数中传递的项数,从第一个参数指定的索引开始。