如题,在js数组中有一些数组,想获取该数字对应的位次。

 

  1. arr = new Array(); 
  2. arr[0]=10; 
  3. arr[1]=1; 
  4. arr[2]=9; 
  5. arr[3]=10; 
  6. arr[4]=8; 

思路:key为数组索引号,如想知道索引号为3的值,在10,1,9,10,8中的位次。先设置为默认位次第一名,然后遍历数组,如果有更大的值那么位次加1。如果有相同的值,则认为索引号小的位次靠前。

  1. function rank(key,arr){ 
  2.   var rank = 1; 
  3.   for(i=0;i<arr.length;i++){ 
  4.     if(arr[key] < arr[i]) rank = rank+1; 
  5.     if((arr[key] == arr[i])&&key>i) rank = rank +1; 
  6.   } 
  7.   return rank; 
  8. rank(3,arrr) //arr[0]和arr[3]都是10,键名小的,排名靠前。故最终结果为2