gpt4 book ai didi

javascript - 制作嵌套数组以对数组元素进行分组

转载 作者:行者123 更新时间:2023-11-30 07:01:53 24 4
gpt4 key购买 nike

我有数组:

arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14];

然后我想制作一组 4 个元素。每次迭代,都必须修改此数组,直到获得最终面。

第一步:

arr = [[1,2,3,4],5,6,7,8,9,10,11,12,13,14];

第 2 步:

arr = [[1,2,3,4],[5,6,7,8],9,10,11,12,13,14];

第 3 步:

arr = [[1,2,3,4],[5,6,7,8],[9,10,11,12],13,14];

第 3 步:

arr = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14]];

这怎么可能?

我试过这个:

var array = [1,2,3,4,5,6,7,8,9,10,11,12,13,14]
var i,j,temparray,chunk = 4;
for (i=0,j=array.length; i<j; i+=chunk) {
temparray = array.slice(i,i+chunk);
console.log(temparray);
}

但我不知道如何将这个 block 保存到自己的数组中而不是新数组中。

最佳答案

使用 Array#reduce方法。

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], 
newArr = arr.reduce((acc, item, index) => {
if ((index) % 4 === 0) {
acc.push([item]);
} else {
acc[acc.length - 1].push(item);
}
return acc;
}, []);

console.log(newArr); // [ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ], [ 9, 10, 11, 12 ], [ 13, 14 ] ]

关于javascript - 制作嵌套数组以对数组元素进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47397631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com