给定一个唯一数字数组,返回原始数组的新排名数组。例如,如果您的输入数组是[10, 5, 20],则输出应该是[2, 3, 1],因为10它是第二大数字,5是第三大数字,并且20是最大的。
我的答案是返回[1,2,0]而不是[2,3,1]. 我想不出我哪里错了?
function rankings(arr) {
// add whatever parameters you deem necessary
var sorted = arr.slice().sort(function(a, b) {
return b - a
})
var ranks = arr.slice().map(function(v) {
return sorted.indexOf(v)
});
return ranks;
}
console.log(rankings([10, 5, 20]));
喵喔喔
素胚勾勒不出你
HUX布斯
相关分类