705 Stimmen

Wie filtern Objekt Array basierend auf Attribute?

Ich habe die folgenden JavaScript-Array von Immobilien zu Hause Objekte:

var json = {
    'homes': [{
            "home_id": "1",
            "price": "925",
            "sqft": "1100",
            "num_of_beds": "2",
            "num_of_baths": "2.0",
        }, {
            "home_id": "2",
            "price": "1425",
            "sqft": "1900",
            "num_of_beds": "4",
            "num_of_baths": "2.5",
        },
        // ... (more homes) ...     
    ]
}

var xmlhttp = eval('(' + json + ')');
homes = xmlhttp.homes;

Ich möchte einen Filter auf das Objekt anwenden können, um eine Teilmenge der "Home"-Objekte zurückzugeben.

Ich möchte zum Beispiel nach folgenden Kriterien filtern können: price , sqft , num_of_beds y num_of_baths .

Wie kann ich etwas in JavaScript wie den unten stehenden Pseudocode ausführen?

var newArray = homes.filter(
    price <= 1000 & 
    sqft >= 500 & 
    num_of_beds >=2 & 
    num_of_baths >= 2.5 );

Beachten Sie, dass die Syntax nicht genau wie oben beschrieben sein muss. Dies ist nur ein Beispiel.

1voto

S. V Punkte 655

Vorabcode für die Suche nach allen Attributen des Objekts in Arrays

b=[]; 
yourArray.forEach(x => {
      Object.keys(x).forEach(i => {if (x[i].match('5') && !b.filter(y => y === x).length) { b.push(x) }})
    });
console.log(b)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X