私は次のようなjavascriptオブジェクト配列を持っています
var objArr = [Object{key="1", value="a"}, Object{key="2", value="b"}, ...]
Jqueryメソッドでオブジェクトを見つけて削除しますか?私は使用することを知っています$.each
$.each(objArr, function(index, obj) {
})
しかし、これに対する簡単で効率的な解決策はありますか?
私は次のようなjavascriptオブジェクト配列を持っています
var objArr = [Object{key="1", value="a"}, Object{key="2", value="b"}, ...]
Jqueryメソッドでオブジェクトを見つけて削除しますか?私は使用することを知っています$.each
$.each(objArr, function(index, obj) {
})
しかし、これに対する簡単で効率的な解決策はありますか?
jQueryを使用せずに、javascriptのフィルター関数を使用するだけです。
var filtered = objArr.filter(function(o){return o.key!='badkey';});
(MDNページには、非常に古いブラウザーとの互換性に関するヒントが記載されていることに注意してください)
要素を見つけるには、.grep()関数を使用できます。例:数値の配列をフィルター処理して、ゼロ以下の数値を含めます。
$.grep( [0,1,2], function(n,i){
return n > 0;
},true);
結果:[0]
または、その要素の位置のみを検索する必要がある場合は、.inArray()関数を使用できます。例:「1」と一致する要素の位置を検索します。
var arr = [ 4, 2, 3, 1, "hello" ];
var exist = $.inArray(1, arr);
結果:
存在=3
そして削除については、おそらくあなたの問題を解決することができる投稿があります jQueryを使用して配列から特定の値を削除する方法