javascrip语言,怎么实现两个数组类似excel的 rank 函数

javascrip语言,怎么实现两个数组类似excel的 rank 函数

问题描述:

javascrip语言,怎么实现两个数组,用第一个数组排序以后得到第二个数组,类似excel的 rank 函数

直接sort后取下标就好了吧。。

 var arr = [56,168,7,53,99];
var tarr = [];
for (var i = 0; i < arr.length; i++) {
    tarr.push(i);
}
tarr.sort(function(a,b){
    return arr[b] - arr[a];
});
alert(tarr);

/**

  • 取数组arr的top N */ function rank(arr, n){ var tmpArr = arr.sort(); tmpArr.splice(n); return tmpArr; }

//测试
var arr = [87,23,67,90];
var top3 = rank(arr, 3);

var arr = [1,2,3,4,5,6,7];
var rank_arr = rank(arr, 3);
function rank(arr, n) {
var tmpArr = arr.sort();
tmpArr.splice(n);
return tmpArr;
}