135 votes

Comparez un tableau d'objets JavaScript pour obtenir le minimum et le maximum.

J'ai un tableau d'objets et je veux comparer ces objets sur une propriété spécifique de l'objet. Voici mon tableau :

var myArray = [
    {"ID": 1, "Cost": 200},
    {"ID": 2, "Cost": 1000},
    {"ID": 3, "Cost": 50},
    {"ID": 4, "Cost": 500}
]

Je voudrais me concentrer sur le "coût" spécifiquement et obtenir une valeur minimale et maximale. Je me rends compte que je peux simplement récupérer les valeurs de coût et les placer dans un tableau javascript, puis exécuter la fonction JavaScript rapide Max/Min .

Cependant, existe-t-il un moyen plus simple de le faire en contournant l'étape du tableau au milieu et en utilisant directement les propriétés de l'objet (dans ce cas, "Coût") ?

-2voto

Ben Points 19

Une autre, similaire à la réponse de Kennebec, mais sur une seule ligne :

maxsort = myArray.slice(0).sort(function (a, b) { return b.ID - a.ID })[0].ID;

-2voto

sourcecode Points 96

Vous pouvez utiliser l'objet Array intégré pour utiliser Math.max/Math.min à la place :

var arr = [1,4,2,6,88,22,344];

var max = Math.max.apply(Math, arr);// return 344
var min = Math.min.apply(Math, arr);// return 1

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X