配列がありますtreeids = ['a','b','c','d'];
'b'要素を削除します。私たちはできるインデックスを使用して、これらの値が動的にこの配列に来るので、私はインデックスを使用してこれをしたい。 名前だけで削除してください。 IE7ブラウザでサポートする必要があります。 これを行う方法。配列から特定の要素を削除する方法
おかげ
配列がありますtreeids = ['a','b','c','d'];
'b'要素を削除します。私たちはできるインデックスを使用して、これらの値が動的にこの配列に来るので、私はインデックスを使用してこれをしたい。 名前だけで削除してください。 IE7ブラウザでサポートする必要があります。 これを行う方法。配列から特定の要素を削除する方法
おかげ
はJavaScript 1.6は、あなたのニーズが上のスポット合うかArray.filter、用意されています。
もちろん、下部のブラウザサポートテーブルからもわかるように、IE 9より古いIEをサポートする必要がある場合は、運が不足しています。
jQueryは、同じことを行うが、別のライブラリのオーバーヘッドを導入するjQuery.grepを提供しています。
Underscore.jsには_.filterがありますが、これは別のライブラリを1つの目的にのみ使用することになります。
これは、すべての「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)で利用可能です。 2番目の引数で渡された項目の数が、最初の引数で指定されたインデックスから始まります。
これには説明が必要です。 – 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