1. ホーム
  2. javascript

[解決済み] ロダッシュの複数カラムのソート

2022-04-14 03:21:08

質問

オブジェクトの配列を、いくつかのプロパティに基づいてソートする気の利いたメソッドがあります。

var data = _.sortBy(array_of_objects, ['type', 'name']);

ただし、これは昇順ソートの場合のみです。列ごとに方向を定義する便利な方法はないでしょうか?例えば

var data = _.sortBy(array_of_objects, [{'type': 'asc'}, {'name': 'desc'}]);

解決方法は?

現在 ロダッシュ 3.5.0 を使用することができます。 ソートバイ オーダー (リネーム オーダーバイ v4.3.0にて)。

var data = _.sortByOrder(array_of_objects, ['type','name'], [true, false]);

以来 バージョン3.10.0 は、標準的なセマンティクスで順序付け(asc、desc)を行うことも可能です。

var data = _.sortByOrder(array_of_objects, ['type','name'], ['asc', 'desc']);

バージョン4 は、このメソッドの名前が変更されました。 注文方法 :

var data = _.orderBy(array_of_objects, ['type','name'], ['asc', 'desc']);