Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Xếp hạng dựa trên điểm số trong JavaScript


Vấn đề

Cần viết hàm JS nhận mảng arr điểm số học sinh. Trả về mảng xếp hạng tương ứng: điểm cao nhất -> hạng 1, thứ hai -> hạng 2, ...

Ví dụ:

const arr = [50, 47, 39, 32, 31];

Kết quả:

const output = [1, 2, 3, 4, 5];

Giải thích:

Mảng điểm đã sắp xếp giảm dần, nên hạng tương ứng là 1,2,3,4,5.

Ví dụ

Mã thực hiện:

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));

Kết quả

Kết quả in ra console:

[ 1, 2, 3, 4, 5 ]