underscore tutorial remove from ejemplos biblioteca array arrays lodash

arrays - tutorial - lodash remove from array



use Lodash para ordenar la matriz de objetos por valor (2)

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

En otras palabras, orderBy cambia la matriz en su lugar.

Estoy tratando de ordenar una matriz por valor de ''nombre'' (usando Lodash). Utilicé los documentos de Lodash para crear la solución a continuación, sin embargo .orderBy no parece tener ningún efecto en absoluto. ¿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; chars = _.orderBy(chars, ''name'', ''asc''); // Use Lodash to sort array by ''name'' this.setState({characters: chars})


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

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