ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ arr ของตัวเลขเป็นอาร์กิวเมนต์เดียว
โดยพื้นฐานแล้ว อาร์เรย์จะประกอบด้วยคะแนนที่นักเรียนบางคนทำ โดยอิงจากอาร์เรย์ของคะแนน หน้าที่ของเราควรจัดเตรียมและส่งคืนอาร์เรย์ของอันดับซึ่งควรมีอันดับของนักเรียนที่เกี่ยวข้องโดยพิจารณาจากคะแนนของพวกเขาในอาร์เรย์คะแนน ar.
ตัวอย่างเช่น สำหรับรายการสูงสุดในอาร์เรย์ arr รายการที่สอดคล้องกันในอาร์เรย์เอาต์พุตควรเป็น 1, 2 สำหรับค่าสูงสุดอันดับสองเป็นต้น
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −
const arr = [50, 47, 39, 32, 31];
จากนั้นผลลัพธ์ควรเป็น −
const output = [1, 2, 3, 4, 5];
คำอธิบายผลลัพธ์:
เครื่องหมายในอาร์เรย์ arr อยู่ในลำดับที่ลดลงแล้ว ซึ่งหมายความว่าคะแนนสูงสุดอยู่ที่ดัชนีแรกสุดเป็นต้น
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
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 ]