私は(jsまたはjqueryで)オブジェクトの配列をフィルタリングし、特定のプロパティ名を持つオブジェクトの配列を返そうとしています。オーバーfind
開始の各反復とは、すべてやり直すarr
を定義するので、それは仕事をdoesntのがJS - プロパティ値の配列によるオブジェクトの配列とフィルタリングされたオブジェクトの配列を返す
result = [{a:1}, {a:2}]
:
var objs = [{ a:1, }, {a:2}, {a:3}, {a:4}]
var vals = [1, 2]
function callback(obj) {
var arr = arr || []
console.log(arr)
$.each(vals, function(key, val) {
if (val == obj.a) {
arr.push(obj)
}
})
}
var result = objs.find(callback);
console.log(">>>", result)
期待される結果は次のとおりです。
は、私はこのようfilter
と
find
機能を試してみました。
私は都合の良いことに、2つの入れ子になっています$.each()
- オブジェクトの配列を反復処理し、プロパティ値の配列を反復処理することはできますが、最後のオプションとして考えると、よりエレガントで短いものを探します。皆さんはどんなアイデアを持っていますか?
@DZackフェアポイントを、あなたのソリューションを楽しみにしています。 – Thijs