178 votes

Comment est-ce que je peux faire un tri asc et desc à l’aide de underscore.js ?

Je suis actuellement en utilisant underscorejs pour trier mon tri de json. Maintenant, j’ai demandé à faire un et tri à l’aide de underscore.js. Je ne vois rien concernant le même dans la documentation. Comment est-ce que je peux réaliser cela ?

373voto

NULL Points 10442

Tu racontes sortBy?
Elle retournera toujours dans une liste ascendante :

Mais vous pouvez utiliser inverse sur le tableau pour le faire descendre :

Ou lorsqu’ils traitent avec des nombres, ajoutez un signe négatif au retour de descendre à la liste :

59voto

jEremyB Points 418

Décroissant à l’aide du caractère de soulignement est possible en multipliant la valeur de retour de -1.

Si vous triez par cordes pas de numéros, vous pouvez utiliser la méthode charCodeAt() pour obtenir la valeur unicode.

53voto

Emil Lundberg Points 1078

Le Tableau prototype de la méthode inverse modifie la matrice et renvoie une référence à elle, ce qui signifie que vous pouvez le faire:

var sortedAsc = _.sortBy(collection, 'propertyName');
var sortedDesc = _.sortBy(collection, 'propertyName').reverse();

Aussi, le trait de soulignement de la documentation se lit comme suit:

En outre, le Tableau du prototype de méthodes sont mandatées par le enchaîné trait de Soulignement de l'objet, de sorte que vous pouvez glisser un reverse ou push dans votre chaîne, et de continuer à modifier le tableau.

ce qui signifie que vous pouvez également utiliser .reverse() tandis que le chaînage:

var sortedDescAndFiltered = _.chain(collection).sortBy('propertyName').reverse().filter(_.property('isGood')).value();

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