Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从一组数字中计算五位数/十位数_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 从一组数字中计算五位数/十位数

Javascript 从一组数字中计算五位数/十位数,javascript,jquery,arrays,Javascript,Jquery,Arrays,给定以下数组: [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] 我需要计算第20、40、60和80百分位的值。步骤是从低到高排列数组,计算值的总数,确定第20个百分位的值,等等(例如,如果有10个数字按从低到高的顺序排列,则第2个值将是第20个百分位) 这存储在一个变量中,我知道我可以像这样对数字进行排序: 勾选6.sort()

给定以下数组:

[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]
我需要计算第20、40、60和80百分位的值。步骤是从低到高排列数组,计算值的总数,确定第20个百分位的值,等等(例如,如果有10个数字按从低到高的顺序排列,则第2个值将是第20个百分位)

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

并使用以下命令获取数组中的值数:

var newticks=ticks6.length

我不知道如何做下一部分,虽然我在那里计算出了百分位数,但我正在用jquery或javascript寻找解决方案。

如下所示:

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]);
tricks6.sort();
var length = tricks6.length;

var twentieth = sorted[math.floor((length-1)*.2)] //do for all
//同样地

var per40 =  Math.floor(len*.4) - 1;
console.log(arr[per40]);
这样使用:

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]);
tricks6.sort();
var length = tricks6.length;

var twentieth = sorted[math.floor((length-1)*.2)] //do for all
//同样地

var per40 =  Math.floor(len*.4) - 1;
console.log(arr[per40]);
大概是这样的:

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]);
tricks6.sort();
var length = tricks6.length;

var twentieth = sorted[math.floor((length-1)*.2)] //do for all
大概是这样的:

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]);
tricks6.sort();
var length = tricks6.length;

var twentieth = sorted[math.floor((length-1)*.2)] //do for all

您可以轻松地对阵列进行排序:


console.log([13468,3,6,220,762,97,16,522,69,119,2895,1255,49,19,261,9,140,55,20,6,22,6,17,115])排序(函数(a,b){return a-b}))
您可以轻松地对数组进行排序:

console.log([13468,3,6,220,762,97,16,522,69,119,2895,1255,49,19,261,9,140,55,20,6,22,6,17,115])排序(函数(a,b){return a-b}))
库中有一个函数可用于此操作:

ss.quantile([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], 0.2)
=> 13
该库具有一个可用于此目的的函数:

ss.quantile([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], 0.2)
=> 13

请尝试一下,然后把你尝试过的东西贴出来。所以这里不是为了帮你做工作,而是为了帮助你弄清楚为什么有些事情没有达到预期的效果output@depperm我添加了我能走多远,这是排序和计算值数量的第一步。下一部分是我遇到的问题。在jquery中寻找解决方案。。。jquery在这里做什么?jquery只对使用DOM有用。纯Javascript可以轻松处理数组,而无需jquery。请尝试一下,然后发布您尝试过的内容。所以这里不是为了帮你做工作,而是为了帮助你弄清楚为什么有些事情没有达到预期的效果output@depperm我添加了我能走多远,这是排序和计算值数量的第一步。下一部分是我遇到的问题。在jquery中寻找解决方案。。。jquery在这里做什么?jquery只对使用DOM有用。纯Javascript可以轻松处理数组,而无需jquery。谢谢。必须在.2之前添加0才能使其正常工作
len[per20]
返回为未定义<代码>per20
确实会返回一个值。
len
应该添加什么?对不起,这是一个打字错误。应该是arr[per20]…我已经编辑过了。谢谢。这是可行的,但有一个主要问题。当我对数组排序时,它会像这样返回:
[1,1,1,1,1,10,10,10,10,10,104,108,11,11,11,111115115]
它是按字母顺序排序,而不是按数字顺序排序……明白了:
arr.sort(函数(a,b){return a-b})
谢谢。必须在.2之前添加0才能使其正常工作
len[per20]
返回为未定义<代码>per20
确实会返回一个值。
len
应该添加什么?对不起,这是一个打字错误。应该是arr[per20]…我已经编辑过了。谢谢。这是可行的,但有一个主要问题。当我对数组进行排序时,它会像这样返回:
[1,1,1,1,1,10,10,10,10,10,104,108,11,11,11,111,115,115]
它是按字母顺序排序,而不是按数字排序……明白了:
arr.sort(函数(a,b){return a-b}
tricks6.sort()未对数组排序
var得分=[1,2,10,21];scores.sort();//[1,10,2,21]
tricks6.sort()未对数组排序
var得分=[1,2,10,21];scores.sort();//[1,10,2,21]