我有大量数字需要分配到x个数字范围内,以便每个范围都包含与原始数组相同数量的元素。将数组数组分成x个子集
例如,当x = 4
,下面的阵列
[1, 1, 2.5, 3, 6, 7, 10, 11.2, 14, 25, 35, 50, 75, 85.5, 100, 120, 128.9, 150, 200, 260]
会产生长度x + 1
具有以下
[1, 6.5, 30, 110, 260]
- 1数组是阵列中的最低值
- 6.5是6和7的中点
- 30是25的中点和35
- 110的100的中点和120
- 260的最高值
本质上讲,这会给我4个范围的数字1-6.5的,6.5- 30,30-110和110-260。每个范围将包含5个原始数组的数字。
需要能够处理动态数量的元素,这些元素不一定会被x均分。
我问this question on Mathematics,但被告知这是更多的编程问题。
这确实是一个你可以用程序解决的问题,但对于这个网站来说这太简单了。回答这个问题的唯一方法就是为你做这项工作,这里没有人会这样做。如果您有兴趣了解如何为此用例创建基本的JavaScript函数,请查看For循环的工作原理以及非常基本的Math.floor和Array.push方法。 – gravityplanx
@Ryan:你到目前为止使用JavaScript尝试过哪些代码? – stark
如果'x'不能分割数组的长度会怎么样? – Oriol