Javascript n个数组中的分区数
假设我们有一个数字数组:Javascript n个数组中的分区数,javascript,math,Javascript,Math,假设我们有一个数字数组: var numbers=[10,25,640,9800,51000,54234,53433,543,1000]; 我想根据这些数字在n个区域(数组)中的值来分割它们。最大n为5 示例: Result for 5-area would be: [10,25],[543,640],[1000],[9800],[51000,54234,53433] Result for 4-area in this case would be: [10,25],[543,640,1000]
var numbers=[10,25,640,9800,51000,54234,53433,543,1000];
我想根据这些数字在n个区域(数组)中的值来分割它们。最大n为5
示例:
Result for 5-area would be: [10,25],[543,640],[1000],[9800],[51000,54234,53433]
Result for 4-area in this case would be: [10,25],[543,640,1000],[9800],[51000,54234,53433]
*编辑:
如果我们的值为900而不是640,则5-面积的结果为:
[10,25]、[543]、[9001000]、[9800]、[510005423453433]
因为900接近1000。在前面的示例中,640更接近543
--
我该怎么做
请帮帮我。从“n-区域”的问题和描述中,不清楚该算法需要什么 但是,对于数字排序,您应该查看数组排序方法 如果结果为负数,sort函数将第一个值排序为较低的值,并将其向下移动到数组中。例如,10是集合中最低的,因此它将移动到索引0。然而,在排序之后,在上面数组中的数字640之后,它将不是9800,而是1000,之后是9800。像这样 [10,255436401000980051000534354234] 与原始数组相反 [10,2564098005105423453435431000] 我在下面包含了一个jsbin来说明Array.sort是如何工作的
谢谢您抽出时间。你能看看我更新的帖子,试着理解算法吗?这更多的是数学问题,而不是编程:)。嗯,在创建一个具有设置数量的值的内部数组之前,我们究竟应该比较多少个值还不清楚。但是,如果要遍历元素并比较值,我建议遍历元素并比较下一个值和上一个值(第一次迭代中除外,例如,当I=0时,由于没有上一个值,因此只比较下一个值)。同样,对于最后一个项目,您只需将其与前一个元素进行比较,因为在最后一个项目之后没有“下一个元素”。谢谢您的想法。我们需要比较数组中的所有值。是的,你可能知道算法以及5区和4区之间的关系。为了给你一个想法,我写了一个for循环,希望能给你一些关于如何开始计算的想法,如果你不想要分区[10,255436401000],[9800],[51000],[53433],[54234],你还需要将函数“closer”定义为与大小相关的东西。