从一组数字计算五分位数/十分位数

jon*_*ich 2 javascript arrays jquery

给定以下数组:

[13, 468, 3, 6, 220, 762, 97, 16, 522, 69, 119, 2895, 1255, 49, 19, 261, 9, 140, 55, 20, 6, 22, 6, 17, 115]
Run Code Online (Sandbox Code Playgroud)

我需要计算第 20、40、60 和 80 个百分位数处的值。步骤是将数组从低到高排序,计算值的总数,确定第 20 个百分位数处的值等(例如,如果从低到高的顺序有 10 个数字,则第二个值将是第 20 个百分位数)。

这存储在一个变量中,我知道我可以像这样对数字进行排序: ticks6.sort();

并使用此获取数组中的值数:

var newticks=ticks6.length;

我不知道如何做下一部分,尽管我在其中找出了百分位数,但正在寻找 jquery 或 javascript 中的解决方案。

jra*_*ath 6

像这样使用:

var arr = [13, 468, 3, 6, 220, 762, 97, 16, 522, 69, 119, 2895, 1255, 49, 19, 261, 9, 140, 55, 20, 6, 22, 6, 17, 115];
arr.sort();
var len =  arr.length;
var per20 =  Math.floor(len*.2) - 1;

console.log(arr[per20]);
Run Code Online (Sandbox Code Playgroud)

//相似地

var per40 =  Math.floor(len*.4) - 1;
console.log(arr[per40]);
Run Code Online (Sandbox Code Playgroud)

  • 没关系...明白了:`arr.sort(function(a, b){return ab})` (4认同)