【发布时间】:2020-11-18 17:17:37
【问题描述】:
我有一个这样的数组
const array = [{id: 1, size: 1}, {id: 2, size: 2}, {id: 3, size: 4}, {id: 4, size: 1}, {id: 5, size: 2}, {id: 6, size: 3}, ...]
我想用 size 属性的最大总和对这个数组进行分组或分块(每个索引的总大小不能大于4),
所以新数组应该是这样的:
const newArray = [
[{id:1, size: 1}, {id:2, size: 2}, {id:4, size: 1}],
[{id:3, size: 4}],
[{id:5, size: 3}],
[{id:6, size: 4}],
...
]
【问题讨论】:
-
如果您尝试过,可以分享您的代码吗?
-
您没有指定单个元素的大小是否可以超过 4(以及如果可行的话如何处理这种情况)。您也没有说顺序是否对分块很重要。即,如果一系列元素的大小为
1, 4, 3,“智能”算法可能会尝试将1和3分块在一起,但它们不是连续的,所以如果顺序很重要,那是相关的。您真的应该尝试在原始帖子中提供所有要求,以消除来回。
标签: javascript algorithm group-by reduce chunks