配列を値の数で並べ替えます.
538 ワード
//
let sortByCount = function (arr) {
let arrUni = [];
let arrCnt = [];
arr.forEach((val)=>{
let idx = arrUni.indexOf(val);
if (idx<0) {
arrUni.push(val);
arrCnt.push(1);
}else{
arrCnt[idx]++;
}
});
let arrTmp = arrUni.slice();
arrUni.sort((a, b)=>{
let idxa = arrTmp.indexOf(a);
let idxb = arrTmp.indexOf(b);
return arrCnt[idxb] - arrCnt[idxa];
});
return arrUni;
};