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

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

Barbara Streisand
Libérer: 2024-12-20 13:24:09
original
480 Les gens l'ont consulté

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

Filtrage de tableaux d'objets en fonction d'attributs en JavaScript

Problème :

Vous disposez d'un tableau d'objets immobiliers. Vous devez filtrer le tableau pour renvoyer un sous-ensemble d'objets « maison » en fonction de critères spécifiques, tels que le prix, la superficie en pieds carrés, le nombre de chambres et le nombre de salles de bains.

Solution :

Pour filtrer un tableau d'objets en fonction d'attributs, vous pouvez utiliser la méthode Array.prototype.filter. Cette méthode prend une fonction de rappel comme argument, qui est utilisée pour déterminer si chaque élément du tableau doit être inclus dans le tableau filtré.

Dans votre cas, vous pouvez créer une fonction de rappel qui vérifie si chaque maison l'objet répond à tous vos critères. Voici un exemple :

let 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

Cette fonction de rappel vérifie si l'attribut price est inférieur ou égal à 1000, si l'attribut sqft est supérieur ou égal à 500, si l'attribut num_of_beds est supérieur ou égal à 2, et si l'attribut num_of_baths est supérieur ou égal à 2,5. Si toutes ces conditions sont remplies, l'élément est inclus dans le tableau filtré.

Notez que la syntaxe ne doit pas nécessairement être exactement comme l'exemple que vous avez fourni. L'exemple ci-dessus utilise l'opérateur && pour combiner les conditions, mais vous pouvez également utiliser l'opérateur &. De plus, vous pouvez utiliser des fonctions fléchées pour simplifier la fonction de rappel.

Voici un exemple en direct :

<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>
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