Lodashを使用してオブジェクトの配列を値でソートする 質問する

Lodashを使用してオブジェクトの配列を値でソートする 質問する

配列を「名前」の値で並べ替えようとしています (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})

おすすめ記事