Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

กำหนดอันดับจากคะแนนสอบใน JavaScript

ปัญหา

รับอาร์เรย์คะแนน 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 ]