JavaScript:オブジェクトを持つ配列のソート
基本構文は次のようになっている。
// アロー関数 sort((a, b) => { /* … */ } )
ソート方法をアロー関数内に書き、昇順降順は次のように、アロー関数内の比較結果によって変わる。
a, b の返値 | ソート順 |
---|---|
> 0 |
a を b の後に並べる(昇順) |
< 0 |
a を b の前に並べる(降順) |
=== 0 |
a と b の元の順序を維持する |
試しに書いてみた。
const fruits = [ { id: 1, name: "Banana",}, { id: 2, name: "Grape", }, { id: 3, name: "Apple", }, ]; // 昇順 fruits.sort((a, b) => { return a.name > b.name ? 1 : -1; }); // => { id: 3, name: 'Apple' } // => { id: 1, name: 'Banana' } // => { id: 2, name: 'Grape' } // 降順 fruits.sort((a, b) => { return a.name < b.name ? 1 : -1; }); // => { id: 2, name: 'Grape' } // => { id: 1, name: 'Banana' } // => { id: 3, name: 'Apple' }