Heim >Web-Frontend >js-Tutorial >Wie filtere ich ein JavaScript-Array von Home-Objekten basierend auf Attributen?

Wie filtere ich ein JavaScript-Array von Home-Objekten basierend auf Attributen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-20 13:24:09420Durchsuche

How to Filter a JavaScript Array of Home Objects Based on Attributes?

Objektarrays basierend auf Attributen in JavaScript filtern

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn