オブジェクトの配列があり、各オブジェクトにはn
キーと値のペアが含まれています。に一致する値を持つオブジェクトの配列を返す必要がありますx
。
Underscore.jsを使用して使用すること_.findWhere
はできますが、値がどのキーの下にあるかわかりません。
明らかに配列をループし、各オブジェクトのすべてのキーをフェッチしてから、_.findWhere
各キーで実行して値が存在するかどうかを確認できますが、これを行うには良い方法ではないようです。
私は明らかに配列をループし、各オブジェクトのすべてのキーをフェッチすることができました...
はい。
要素のメンバーで検索する配列と値を受け入れ、配列をループし、現在の要素のキーをループし、値が一致するメンバーを含むオブジェクトを配列にプッシュして、その後に返す関数を記述します。反復。
function findValues (arr,val) {
var result = [];
for (var i=0,current;i<arr.length;i++) {
current = arr [i];
for (var key in current) {
if (current [key] === val) {
result.push (current);
}
}
}
return result
}
これが出力例です
findValues (
[{
a:1,
b:2,
c:3
},{
a:1,
b:2,
},{
a:1,
b:2,
},{
a:1,
b:2,
c:3,
d:4
},{
a:1,
b:2,
}],
3
) //[{"a":1,"b":2,"c":3},{"a":1,"b":2,"c":3,"d":4}]
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加