Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

251
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda