1. ホーム
  2. javascript

[解決済み] Lodash を使ってオブジェクトの配列を値でソートする

2022-06-13 23:44:43

質問

私は'name'の値で配列を並べ替えようとしています(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})

どのように解決するのですか?

この方法 orderBy は入力配列を変更しません。 結果を配列に代入する必要があります。

var chars = this.state.characters;

chars = _.orderBy(chars, ['name'],['asc']); // Use Lodash to sort array by 'name'

 this.setState({characters: chars})