Obtenir les rangs moyens de nombres avec JavaScript

Concept et utilisation

La fonction numRankAvg() permet d'obtenir les rangs moyens de nombres d'une liste par rapports aux nombres de cette liste.

Fonction

numRankAvg()

Retourne une liste de rangs moyens par rapport aux nombres d'une liste.

Syntaxe
numRankAvg(nombres);
Paramètre
nombres(Array)

Le paramètre nombres de la fonction numRankAvg() définit la liste des nombres pour lesquels obtenir leur rang moyen.

Exemple d'obtention des rangs moyens d'une liste de nombres

var nombres = [10, 8, 7, 7, 3, 3, 2, 1];

numRankAvg(nombres);

// Renvoie : 
// [
//   [10, 1]
//   [8, 2]
//   [7, 3.5]
//   [7, 3.5]
//   [3, 5.5]
//   [3, 5.5]
//   [2, 7]
//   [1, 8]
// ]

Code source de la fonction

function numRankAvg(x){var a=JSON.parse(JSON.stringify(x))
.sort(function(b,c){return c-b;}),j=a.length,o={},n=[];
for(var i=0;i<j;i++){if(typeof o[a[i]]==='undefined'){
o[a[i]]={i:[i],m:i+1,t:i+1,v:a[i]};}else{var z=o[a[i]];
z.i.push(i);z.t+=i+1;z.m=z.t/z.i.length;x}}var n=[];
for(var i=0;i<j;i++){n.push([x[i],o[x[i]].m]);}return n;}
^