Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

244
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda