让我们说我们有这些数字的数组:
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],[900,1000],[9800],[51000,54234,53433]
因为900更接近1000.在前面的例子中,640更接近543。
-
我该怎么做?
请帮帮我。
答案 0 :(得分:1)
关于'n-areas'的问题和描述,目前还不清楚算法究竟是什么。
但是,为了对数字进行排序,您应该看看数组排序方法。
如果结果是否定的,sort函数会将第一个值排序为较低的值并将其向下移动到数组中。例如。 10是集合中的最低值,因此它将被移动到索引0.但是,在排序之后,在上面的数组中的数字640之后,它将不是9800,而是1000,然后将是9800。这个
[10,25,543,640,1000,9800,51000,53433,54234]
而不是原始数组
[10,25,640,9800,51000,54234,53433,543,1000]
我在下面添加了一个jsbin来说明Array.sort的工作原理。