Metoda _.sortBy() w Lodash porządkuje elementy od najmniejszego do największego lub od A do Z, w zależności od tego, czym one są. Utrzymuje także kolejność rzeczy w tej samej kolejności, jeśli są takie same, na przykład jeśli masz dwie takie same liczby lub słowa.
Składnia:
_.sortBy(collection, [iteratees]);>
Parametry:
- kolekcja: Ten parametr przechowuje kolekcję do iteracji.
- iteracje: Ten parametr przechowuje wartość, według której należy sortować i jest wywoływany z jednym argumentem (wartością).
Wartość zwracana:
Ta metoda służy do zwracania nowej posortowanej tablicy.
Przykład 1: W tym przykładzie sortujemy tablicę obiektów za pomocą metody _.Sortuj według() metoda. użyliśmy tylko „obj” do sortowania tablicy w porządku rosnącym.
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);> Wyjście:
[ { 'obj': 'moto', 'price': 19999 }, { 'obj': 'moto', 'price': 17999 }, { 'obj': 'oppo', 'price': 18999 }, { 'obj': 'oppo', 'price': 15999 } ]>Przykład 2: W tym przykładzie sortujemy tablicę obiektów za pomocą metody _.sortBy(). użyliśmy „obj” i „cena” do sortowania tablicy w porządku rosnącym. więc jeśli wartość „obiektu” jest taka sama, sprawdzi „cenę” w kolejności rosnącej.
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);> Wyjście:
[ { 'obj': 'moto', 'price': 17999 }, { 'obj': 'moto', 'price': 19999 }, { 'obj': 'oppo', 'price': 15999 }, { 'obj': 'oppo', 'price': 18999 } ]>