Maison > interface Web > js tutoriel > Comment filtrer un tableau d'objets immobiliers en fonction des attributs ?

Comment filtrer un tableau d'objets immobiliers en fonction des attributs ?

Patricia Arquette
Libérer: 2024-12-31 21:20:12
original
853 Les gens l'ont consulté

How to Filter a Real Estate Home Object Array Based on Attributes?

Filtrer le tableau d'objets en fonction des attributs

Problème :

Vous disposez d'un tableau d'objets réels objets de maison de domaine et souhaitez les filtrer en fonction d'attributs spécifiques, tels que le prix, la superficie en pieds carrés, le nombre de lits et le nombre de bains.

Solution :

Pour filtrer le tableau, vous pouvez utiliser le Array.prototype.filter méthode.

Code :

var newArray = homes.filter(function(el) {
  return el.price <= 1000 &&
         el.sqft >= 500 &&
         el.num_of_beds >= 2 &&
         el.num_of_baths >= 2.5;
});
Copier après la connexion

Explication :

La méthode de filtrage prend une fonction de rappel qui teste chaque élément dans le tableau. Si le test renvoie vrai, l'élément est inclus dans le nouveau tableau. Dans ce cas, la fonction de rappel vérifie si l'objet home répond aux critères spécifiés et renvoie true si c'est le cas.

Exemple en direct :

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) ...     
    ]
};

// (Note that because `price` and such are given as strings in your object,
// the below relies on the fact that <= and >= with a string and number
// will coerce the string to a number before comparing.)

var newArray = obj.homes.filter(function(el) {
  return el.price <= 1000 &&
         el.sqft >= 500 &&
         el.num_of_beds >= 2 &&
         el.num_of_baths >= 1.5; // Changed this so a home would match
});

console.log(newArray);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal