基於 JavaScript 分數確定排名
問題
我們需要編寫一個 JavaScript 函式,該函式只接收一個數字陣列 arr 作為引數。
該陣列基本上包含一些學生的得分,根據分數陣列,我們的函式應該準備並返回一個排名陣列,該陣列應根據分數陣列 arr 中學生分數的高低包含相應學生的排名。
例如,對於陣列 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 ]
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP