Obtenir le min et le max de tableau d'objets avec underscore.js
Disons que j'ai la structure suivante
var myArrofObjects = [
{prop1:"10", prop2:"20", prop3: "somevalue1"},
{prop1:"11", prop2:"26", prop3: "somevalue2"},
{prop1:"67", prop2:"78", prop3: "somevalue3"} ];
J'ai besoin de trouver le min et le max basé sur prop2, alors voici mes numéros 20 et 78.
Comment puis-je écrire du code dans le trait de Soulignement pour le faire?
_.min()
,_.max()
- Je serais probablement juste
each
et définir min/max vals-les-bains; il n'y a pas de "min/max" justemin
etmax
. Tri prendrait plus de temps, mais vous avez toujours la possibilité de trier et de prendre la première/dernière vals-les-bains. - Oui, je sais de ces fonctions existence. Cependant, je demande quelque chose de plus spécifique, voir la question.
- Je ne suis pas sûr de ce que min/max est. J'ai besoin d'un min et un max. Comme dans, 2 valeurs différentes. Je pense que la question est assez claire.
- C'est une hypothétique fonction qui renvoie le min et le max en même temps. Mais de toute façon, pourquoi n'est-ce pas
_min
et_max
assez bon? - "quelque chose de plus spécifique" Ai-je raté quelque chose? Vous êtes à la recherche pour les valeurs min et max de
prop2
... il suffit d'utiliser les fonctions comme indiqué dans l'exemple de_.max()
- Je suis d'accord, si c'était mon commentaire: itérer sur la liste et gardez min/max vals-les-bains.
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas vraiment besoin de souligner quelque chose comme ceci.
Si vous n'êtes pas un ES6 genre de gars, alors
Utiliser la même approche pour minimum.
Si vous avez l'intention de trouver des max et min dans le même temps, alors
utilisation _.max et _.propriété:
Vous pouvez utiliser le _.maxBy trouver la valeur max de la façon suivante.
ou avec l'iteratee abrégée comme suit
de même, l' _.minBy ainsi;
Ref: https://lodash.com/docs/4.17.4#maxBy
Utilisation _.max comme suit:
À l'aide d'une fonction comme la deuxième entrée vous permettra d'accéder à imbriquée valeurs dans l'objet en tant que bien.
max_object.prop2
pour obtenir la valeur max (puisque cela renvoie à l'ensemble de l'objet).Trait de soulignement
utilisation _.sortBy(..) à trier votre objet par une propriété
vous recevrez ensuite un tableau trié par votre propriété prop1,
sorted[0]
est le min, etsorted[n]
est le maxPlaine JS
prop2
.