javascript 数组数值大小位次
发表于2021-05-17 22:05:48阅读25884次
如题,在js数组中有一些数组,想获取该数字对应的位次。
- arr = new Array();
- arr[0]=10;
- arr[1]=1;
- arr[2]=9;
- arr[3]=10;
- arr[4]=8;
思路:key为数组索引号,如想知道索引号为3的值,在10,1,9,10,8中的位次。先设置为默认位次第一名,然后遍历数组,如果有更大的值那么位次加1。如果有相同的值,则认为索引号小的位次靠前。
- function rank(key,arr){
- var rank = 1;
- for(i=0;i<arr.length;i++){
- if(arr[key] < arr[i]) rank = rank+1;
- if((arr[key] == arr[i])&&key>i) rank = rank +1;
- }
- return rank;
- }
- rank(3,arrr) //arr[0]和arr[3]都是10,键名小的,排名靠前。故最终结果为2