我有一个像treeids = ['a','b','c','d'];
这样的数组我想删除'b'元素。通过使用索引我们可以做,但我想这与出使用索引,因为这些值动态到这个数组。 只需删除名称而已。 它应该支持IE7浏览器。 如何做到这一点。如何从阵列中删除特定元素
感谢
我有一个像treeids = ['a','b','c','d'];
这样的数组我想删除'b'元素。通过使用索引我们可以做,但我想这与出使用索引,因为这些值动态到这个数组。 只需删除名称而已。 它应该支持IE7浏览器。 如何做到这一点。如何从阵列中删除特定元素
感谢
的JavaScript 1.6提供Array.filter,这将满足您的需求即期。
当然,从底部的浏览器支持表中可以看到,如果您必须支持IE 9以上的版本,那么您的运气不佳。
jQuery提供了jQuery.grep它做同样的事情,但介绍了一个单独的库的开销。
Underscore.js有_.filter,但同样,这将仅使用一个单独的库仅用于一个目的。
此删除所有的“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)。它从第一个参数指定的索引开始,删除第二个参数中传递的项目数。
这需要一些解释才行。 – Jon
尝试以下操作:
treeids.splice(treeids.indexOf('b'), 1);
现在treeids包含剩余...这里'b'
是要删除的元素。 indexOf
的参数可以来自一个变量。此外,你应该检查错误:索引不应该是-1。
http://briancray.com/2009/09/30/remove-value-javascript-array/ – panupan
只删除第一个实例或元素的所有实例? – Jon
@Jon元素的所有实例 – Mihir