Lodash _.sortBy() metode

_.sortBy() metode programmā Lodash sakārto vienumus no mazākajiem līdz lielākajiem vai no A līdz Z atkarībā no tā, kādi tie ir. Tas arī saglabā lietas tādā pašā secībā, ja tās ir vienādas, piemēram, ja jums ir divi vienādi skaitļi vai vārdi.

Sintakse:

_.sortBy(collection, [iteratees]); 

Parametri:

  • kolekcija: Šis parametrs satur kolekciju, lai to atkārtotu.
  • atkārtojas: Šis parametrs satur vērtību, pēc kuras kārtot, un tiek izsaukts ar vienu argumentu (vērtību).

Atgriešanas vērtība:

Šo metodi izmanto, lai atgrieztu jauno sakārtoto masīvu.

1. piemērs: Šajā piemērā mēs kārtojam objektu masīvu, izmantojot _.Kārtot pēc() metodi. mēs esam izmantojuši tikai “obj”, lai kārtotu masīvu augošā secībā.

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); 

Izvade:

[ { 'obj': 'moto', 'price': 19999 }, { 'obj': 'moto', 'price': 17999 }, { 'obj': 'oppo', 'price': 18999 }, { 'obj': 'oppo', 'price': 15999 } ] 

2. piemērs: Šajā piemērā mēs kārtojam objektu masīvu, izmantojot metodi _.sortBy(). mēs esam izmantojuši “obj” un “cena”, lai sakārtotu masīvu augošā secībā. tāpēc, ja “obj” vērtība ir vienāda, tā pārbaudīs “cenu” augošā secībā.

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); 

Izvade:

[ { 'obj': 'moto', 'price': 17999 }, { 'obj': 'moto', 'price': 19999 }, { 'obj': 'oppo', 'price': 15999 }, { 'obj': 'oppo', 'price': 18999 } ]