名前順でも日付順でもなくてこの順番でソートしたい!
って時やりかたわかんなくてちょっと困っちゃったので忘備録。
例えば、干支。
const HogeItem = [
{ eto: '卯', ...hogehoge },
{ eto: '丑', ...hogehoge },
{ eto: '子', ...hogehoge },
{ eto: '辰', ...hogehoge },
{ eto: '寅', ...hogehoge },
];
のような連想配列があって、これを干支順に並び替えたいと。
以下のコードで解決です。
const etoIndex = ['子', '丑', '寅', '卯', '辰'];
HogeItem.sort((a, b) =>
etoIndex.indexOf(a.eto) - etoIndex.indexOf(b.eto),
);
sort()は1か-1を返す使い方しか知りませんでした!