Javascript 将数组拆分为总值的块

Javascript 将数组拆分为总值的块,javascript,arrays,Javascript,Arrays,我有一个值数组,需要将其拆分为一个总值的块。每个区块的总值不应大于4 var arr = [1, 2, 4, 1, 1, 4, 2, 2, 1, 4]; 这应该是这样的: var chunks = [[1, 2, 1], [4], [1, 2, 1], [4], [2], [4]; 所以我需要将原始数组的所有值拆分为大小可变的块,但在这种情况下,它的总值不应大于4。类似的内容 var-arr=[1,2,4,1,1,4,2,2,1,4]; var max=4; var chunks=[];

我有一个值数组,需要将其拆分为一个总值的块。每个区块的总值不应大于4

var arr = [1, 2, 4, 1, 1, 4, 2, 2, 1, 4];
这应该是这样的:

var chunks = [[1, 2, 1], [4], [1, 2, 1], [4], [2], [4];
所以我需要将原始数组的所有值拆分为大小可变的块,但在这种情况下,它的总值不应大于4。

类似的内容

var-arr=[1,2,4,1,1,4,2,2,1,4];
var max=4;
var chunks=[];
arr.forEach(x=>{
//获取可添加值的第一个块
var chunk=chunks.find(c=>{
//计算块的和
var总和=c.减少((a,b)=>a+b);
//如果数组迭代中的块+当前值之和小于max,则返回true

返回和+x好主意,你尝试过什么?所有的值都在1到4之间吗?你需要最小化块的数量吗?这更像是一个算法question@Kepotx所有值都在1到4之间,我确实需要最小化块的数量,每个块应该是4,除了最后一个,这将是REST。这似乎可以做到这一点:)您介意再解释一下代码吗?谢谢!我添加了更多注释。如果还不够,请告诉我您需要解释的部分。谢谢,我尝试根据您的示例重新创建它,现在我得到了:)