ปัญหา
รับอาร์เรย์คะแนน arr คืนอาร์เรย์อันดับ (1 = สูงสุด, 2 = อันดับ 2, ...)
ตัวอย่าง
const arr = [50, 47, 39, 32, 31];
เรียงมากไปน้อยเหมือนเดิม → อันดับ [1, 2, 3, 4, 5]
โค้ดตัวอย่าง
const arr = [50, 47, 39, 32, 31];
const findRanks = (arr = []) => {
const { length } = arr;
let sortArray = arr.slice();
sortArray.sort((a,b) => b - a);
const result = [];
for(let i = 0; i < length; i++){
const j = sortArray.indexOf(arr[i]);
result.push(j + 1);
}
return result;
};
console.log(findRanks(arr));
ผลลัพธ์
[ 1, 2, 3, 4, 5 ]