Problem:
Sie haben ein Array von Immobilienobjekten. Sie müssen das Array filtern, um eine Teilmenge von „Heim“-Objekten basierend auf bestimmten Kriterien wie Preis, Quadratmeterzahl, Anzahl der Schlafzimmer und Anzahl der Badezimmer zurückzugeben.
Lösung:
Um ein Objektarray basierend auf Attributen zu filtern, können Sie die Methode Array.prototype.filter verwenden. Diese Methode verwendet eine Rückruffunktion als Argument, mit der bestimmt wird, ob jedes Element im Array in das gefilterte Array aufgenommen werden soll.
In Ihrem Fall können Sie eine Rückruffunktion erstellen, die prüft, ob jedes Element im Array enthalten ist Das Objekt erfüllt alle Ihre Kriterien. Hier ist ein Beispiel:
let newArray = homes.filter(function (el) { return el.price <= 1000 && el.sqft >= 500 && el.num_of_beds >= 2 && el.num_of_baths >= 2.5; });
Diese Rückruffunktion prüft, ob das Preisattribut kleiner oder gleich 1000 ist, ob das Quadratfußattribut größer oder gleich 500 ist, ob das num_of_beds-Attribut größer oder gleich ist auf 2 und wenn das Attribut „num_of_baths“ größer oder gleich 2,5 ist. Wenn alle diese Bedingungen erfüllt sind, wird das Element in das gefilterte Array aufgenommen.
Beachten Sie, dass die Syntax nicht genau dem von Ihnen bereitgestellten Beispiel entsprechen muss. Im obigen Beispiel wird der &&-Operator zum Kombinieren der Bedingungen verwendet, Sie können jedoch auch den &-Operator verwenden. Darüber hinaus können Sie Pfeilfunktionen verwenden, um die Rückruffunktion zu vereinfachen.
Hier ist ein Live-Beispiel:
<script> var obj = { '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 newArray = obj.homes.filter(function (el) { return el.price <= 1000 && el.sqft >= 500 && el.num_of_beds >= 2 && el.num_of_baths >= 2.5; }); console.log(newArray); </script>
Das obige ist der detaillierte Inhalt vonWie filtere ich ein JavaScript-Array von Home-Objekten basierend auf Attributen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!