Maison >interface Web >js tutoriel >Comment trier un tableau d'objets JavaScript selon une valeur de propriété spécifique (par exemple, le prix) ?

Comment trier un tableau d'objets JavaScript selon une valeur de propriété spécifique (par exemple, le prix) ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-24 00:32:09383parcourir

How to Sort an Array of JavaScript Objects by a Specific Property Value (e.g., Price)?

Tri des objets par valeurs de propriété en JavaScript

Lors de la manipulation de tableaux d'objets, les trier par valeurs de propriété spécifiques peut être essentiel pour la gestion et la visualisation données. Explorons comment réaliser cette fonctionnalité de tri à l'aide de JavaScript.

Question :

Étant donné un tableau d'objets représentant les données de la maison, comment pouvons-nous créer une fonction pour les trier par leur propriété « prix » par ordre croissant ou décroissant ?

Objets Tableau :

Considérez le tableau de maisons suivant :

var homes = [
    {
        "h_id": "3",
        "city": "Dallas",
        "state": "TX",
        "zip": "75201",
        "price": "162500"
    }, {
        "h_id": "4",
        "city": "Bevery Hills",
        "state": "CA",
        "zip": "90210",
        "price": "319250"
    }, {
        "h_id": "5",
        "city": "New York",
        "state": "NY",
        "zip": "00010",
        "price": "962500"
    }
];

Fonctions de tri :

Pour trier le tableau de maisons, nous pouvons utiliser la méthode sort() intégrée. Cette méthode attend une fonction de comparaison comme argument. La fonction de comparaison prend deux éléments en entrée et renvoie un nombre négatif si le premier élément doit précéder le second, un nombre positif si le deuxième élément doit précéder le premier, ou zéro si les éléments sont considérés comme égaux.

Ordre Ascendant :

Pour trier les maisons par ordre croissant par prix, nous définissons une fonction de comparaison qui soustrait le prix du premier élément du prix du deuxième élément et compare la différence. Si la différence est négative, cela signifie que le prix du premier élément est inférieur au prix du second, et que le premier élément doit venir avant le second.

homes.sort(function(a, b) {
    return parseFloat(a.price) - parseFloat(b.price);
});

Ou dans la syntaxe ES6 :

homes.sort((a, b) => parseFloat(a.price) - parseFloat(b.price));

Ordre décroissant :

Pour l'ordre décroissant, on peut inverser la fonction de comparaison en soustrayant le prix de le deuxième élément du prix du premier élément.

homes.sort((a, b) => parseFloat(b.price) - parseFloat(a.price));

Résultat :

Après le tri, le tableau des maisons sera trié en fonction de l'ordre spécifié. Vous pouvez imprimer le tableau modifié pour vérifier le tri.

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!

Déclaration:
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