Skip to content

sortBy

与えられた条件 criteria に従って、オブジェクトの配列をソートします。

  • 条件がプロパティ名の場合、該当するプロパティの値に基づいてソートします。
  • 条件が関数の場合、関数が返す値に基づいてソートします。

配列は昇順でソートされます。条件に基づいて2つの要素の値が同じ場合、次の条件でソートします。

インターフェース

typescript
function sortBy<T extends object>(arr: T[], criteria: Array<((item: T) => unknown) | keyof T>): T[];

パラメータ

  • arr (T[]): ソートするオブジェクトの配列。
  • criteria (Array<((item: T) => unknown) | keyof T>): ソートの基準。オブジェクトのプロパティ名または関数を使用できます。

戻り値

(T[]) 昇順でソートされた配列。

typescript
const users = [
  { user: 'foo', age: 24 },
  { user: 'bar', age: 7 },
  { user: 'foo ', age: 8 },
  { user: 'bar ', age: 29 },
];

sortBy(users, ['user', 'age']);
sortBy(users, [obj => obj.user, 'age']);
// 結果は以下のようになります:
// [
//   { user : 'bar', age: 7 },
//   { user : 'bar', age: 29 },
//   { user : 'foo', age: 8 },
//   { user : 'foo', age: 24 },
// ]

MIT ライセンスの下で配布されています。