Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

249
Views
use Lodash para ordenar la matriz de objetos por valor

Estoy tratando de ordenar una matriz por valor de 'nombre' (usando Lodash). Usé los documentos de Lodash para crear la solución a continuación, sin embargo, .orderBy no parece tener ningún efecto. ¿Alguien puede arrojar algo de luz sobre la forma correcta de ordenar la matriz?

Matriz de caracteres

 [ { "id":25, "name":"Anakin Skywalker", "createdAt":"2017-04-12T12:48:55.000Z", "updatedAt":"2017-04-12T12:48:55.000Z" }, { "id":1, "name":"Luke Skywalker", "createdAt":"2017-04-12T11:25:03.000Z", "updatedAt":"2017-04-12T11:25:03.000Z" } ]

Código de función

 var chars = this.state.characters; _.orderBy(chars, 'name', 'asc'); // Use Lodash to sort array by 'name' this.setState({characters: chars})
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Este método orderBy no cambia la matriz de entrada, debe asignar el resultado a su matriz:

 var chars = this.state.characters; chars = _.orderBy(chars, ['name'],['asc']); // Use Lodash to sort array by 'name' this.setState({characters: chars})
over 4 years ago · Santiago Trujillo Report

0

Puede usar lodash sortBy ( https://lodash.com/docs/4.17.4#sortBy ).

Su código podría ser como:

 const myArray = [ { "id":25, "name":"Anakin Skywalker", "createdAt":"2017-04-12T12:48:55.000Z", "updatedAt":"2017-04-12T12:48:55.000Z" }, { "id":1, "name":"Luke Skywalker", "createdAt":"2017-04-12T11:25:03.000Z", "updatedAt":"2017-04-12T11:25:03.000Z" } ] const myOrderedArray = _.sortBy(myArray, o => o.name)
over 4 years ago · Santiago Trujillo Report

0

Si necesita ordenar por fecha, puede usar esta solución:

 orderBy(items, (a) => new Date(a.createdAt), ['asc']) // or 'desc'

Si está utilizando la biblioteca de moment , entonces:

 orderBy(items, (a) => moment(a.createdAt), 'asc')

Ps Tenga en cuenta que el lodash no ordena las fechas en formato de cadena, por lo que debe convertirlo en un objeto Fecha.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!