utilisez Lodash pour trier le tableau d'objet par valeur
j'essaie de trier un tableau par valeur 'name' (En utilisant Lodash). J'ai utilisé le Lodash docs pour créer la solution ci-dessous .orderBy ne semble pas avoir d'effet. Quelqu'un peut-il nous éclairer sur la bonne façon de trier les tableaux?
Tableau De Caractères
[
{
"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"
}
]
Code De Fonction
var chars = this.state.characters;
chars = _.orderBy(chars, 'name', 'asc'); // Use Lodash to sort array by 'name'
this.setState({characters: chars})
30
demandé sur
James
2017-04-12 16:33:05
2 réponses
cette méthode orderBy
ne pas modifier le tableau d'entrée,
vous devez assigner le résultat à votre tableau:
var chars = this.state.characters;
chars = _.orderBy(chars, ['name'],['asc']); // Use Lodash to sort array by 'name'
this.setState({characters: chars})
52
répondu
Artémis Young
2017-04-12 13:42:33
Vous pouvez utiliser lodash sortBy (https://lodash.com/docs/4.17.4#sortBy).
votre code pourrait être comme:
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)
20
répondu
Caio Santos
2017-08-07 21:26:35