特定の条件をクリアする配列のすべての要素を削除するjavascriptでメソッドを実装する方法について、私はどう思っていましたか? (好ましくはjQueryを使用しないで)javascript - 条件で配列要素を削除
Ex。
ar = [ 1, 2, 3, 4 ];
ar.removeIf(function(item, idx) {
return item > 3;
});
上記アレイ内の各項目を通過し、これらすべてを除去するであろうという条件のreturn true
(この例では、アイテム> 3)。
私はちょうどjavascriptで始まり、誰かがこれを行うための短時間の効率的な方法を知っているのだろうかと思っていました。 更新 - -
条件は同様にオブジェクトのプロパティに取り組むことができればそれはまた素晴らしいことです。
Ex。
item.str == "c"
場合の項目が削除されるだろう
ar = [ {num:1, str:"a"}, {num:2, str:"b"}, {num:3, str:"c"} ];
ar.removeIf(function(item, idx) {
return item.str == "c";
});
- インデックス条件は同様に動作することができればそれはいいだろう
からアップデート2 。
Ex。
ar = [ {num:1, str:"a"}, {num:2, str:"b"}, {num:3, str:"c"} ];
ar.removeIf(function(item, idx) {
return idx == 2;
});
http://jsfiddle.net/n8JEy/3/これは機能します。 – pickypg
ありがとう、素晴らしい作品。私は、反復処理中にスプライシングによってインデックスの変更がどのように考慮されるのが好きです。 – dk123
これはちょっと面倒です。 http://jsfiddle.net/n8JEy/4/を試してください。そして、2番目のパラメータとしてコールバックに 'i'を渡しませんでした。 – Ian