在 JavaScript 中根据分数确定排名
javascriptweb developmentfront end technology
问题
我们需要编写一个 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 ]