配列を「名前」の値で並べ替えようとしています (Lodash を使用)。Lodash ドキュメントを使用して以下のソリューションを作成しましたが、.orderBy はまったく効果がないようです。配列を並べ替える正しい方法について、どなたか教えていただけませんか?
文字配列
[
{
"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"
}
]
機能コード
var chars = this.state.characters;
_.orderBy(chars, 'name', 'asc'); // Use Lodash to sort array by 'name'
this.setState({characters: chars})
ベストアンサー1
このメソッドはorderBy
入力配列を変更しないので、結果を配列に割り当てる必要があります。
var chars = this.state.characters;
chars = _.orderBy(chars, ['name'],['asc']); // Use Lodash to sort array by 'name'
this.setState({characters: chars})