Ich versuche (in js oder jquery) Array von Objekten zu filtern und Array von Objekten, die bestimmten Eigenschaftennamen haben.JS - Filter Array von Objekten nach Array von Eigenschaftswerten und Rückgabe Array gefilterter Objekte
versuchte ich filter
und find
Funktionen wie folgt aus:
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)
Erwartetes Ergebnis ist:
result = [{a:1}, {a:2}]
aber es nicht funktioniert, weil jeder Iteration von find
beginnt immer und arr
alle immer wieder definiert.
Ich könnte natürlich machen ist mit zwei verschachtelten $.each()
- eins, um durch Array von Objekten zu durchlaufen und zweitens durch Array von Eigenschaftswerten zu durchlaufen, aber ich denke, ist als letzte Option - auf der Suche nach etwas eleganter, kürzer. Habt ihr Ideen?
@DZack Messe Punkt, freut sich auf Ihre Lösung. – Thijs