Il metodo _.sortBy() in Lodash organizza gli elementi dal più piccolo al più grande o dalla A alla Z, a seconda di cosa sono. Inoltre, mantiene le cose nello stesso ordine se sono uguali, ad esempio se hai due numeri o parole uguali.
Sintassi:
_.sortBy(collection, [iteratees]);>
parametri:
- collezione: Questo parametro contiene la raccolta su cui eseguire l'iterazione.
- iterati: Questo parametro contiene il valore in base al quale ordinare e viene richiamato con un argomento (valore).
Valore di ritorno:
Questo metodo viene utilizzato per restituire il nuovo array ordinato.
Esempio 1: In questo esempio, stiamo ordinando l'array di oggetti utilizzando il metodo _.ordina per() metodo. abbiamo usato solo 'obj' per ordinare l'array in ordine crescente.
javascript // Requiring the lodash library const _ = require('lodash'); // Original array let object = [ { 'obj': 'moto', 'price': 19999 }, { 'obj': 'oppo', 'price': 18999 }, { 'obj': 'moto', 'price': 17999 }, { 'obj': 'oppo', 'price': 15999 }]; // Use of _.sortBy() method let sorted_obj = _.sortBy(object, [function (o) { return o.obj; }]); // Printing the output console.log(sorted_obj);>
Produzione:
[ { 'obj': 'moto', 'price': 19999 }, { 'obj': 'moto', 'price': 17999 }, { 'obj': 'oppo', 'price': 18999 }, { 'obj': 'oppo', 'price': 15999 } ]>
Esempio 2: In questo esempio, stiamo ordinando l'array di oggetti utilizzando il metodo _.sortBy(). abbiamo utilizzato 'obj' e 'price' per ordinare l'array in ordine crescente. quindi se il valore di 'obj' è lo stesso, controllerà il 'prezzo' in ordine crescente.
javascript // Requiring the lodash library const _ = require('lodash'); // Original array let object = [ { 'obj': 'moto', 'price': 19999 }, { 'obj': 'oppo', 'price': 18999 }, { 'obj': 'moto', 'price': 17999 }, { 'obj': 'oppo', 'price': 15999 }]; // Use of _.sortBy() method let sorted_array = _.sortBy(object, ['obj', 'price']); // Printing the output console.log(sorted_array);>
Produzione:
[ { 'obj': 'moto', 'price': 17999 }, { 'obj': 'moto', 'price': 19999 }, { 'obj': 'oppo', 'price': 15999 }, { 'obj': 'oppo', 'price': 18999 } ]>