gpt4 book ai didi

javascript - 将数组拆分为组

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:26:47 25 4
gpt4 key购买 nike

我应该编写一个函数,将数组(第一个参数)分成长度为 size(第二个参数)的组,并将它们作为二维数组返回。因此,chunkArrayInGroups(["a", "b", "c", "d"], 2) 应该返回 [["a", "b"], ["c", "d"]]

function chunkArrayInGroups(arr, size) {
// Break it up.
var result=[];
for (var i=0;i<=Math.ceil(arr.length/size);i++){

var j=0;
if(i!== 0){
j+=size;
size+=size;
}

result[i] = arr.slice(j , size);

}
//return arr.length/size
//results in 1.5

return result;
// results [["a", "b"], ["c", "d"]]


}

chunkArrayInGroups(["a", "b", "c", "d"], 2);

我得到了想要的结果,但我对我的解决方案不是很满意,还有,更重要的是“如果” arr.length = 4;并且,尺寸=2;那为什么是 arr.length/size = 1 ?不应该是 4/2=2 吗?

最佳答案

我会让 i 迭代每个组开始的原始数组中的索引,而不是组的索引。

function chunkArrayInGroups(arr, size) {
var result = [];
for (var i=0; i<arr.length; i+=size)
result.push(arr.slice(i, i+size));
return result;
}

还要考虑一个生成器:

function* chunkArrayInGroups(arr, size) {
for (var i=0; i<arr.length; i+=size)
yield arr.slice(i, i+size);
}

关于javascript - 将数组拆分为组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37644121/

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