gpt4 book ai didi

javascript - 尝试在javascript中将数组拆分为指定数量的子数组

转载 作者:行者123 更新时间:2023-12-01 03:17:20 31 4
gpt4 key购买 nike

我正在编写一个函数,它接受一个数组和一个数字参数,并返回从给定数组中分割的数组数量。所以调用 chunkArrayInGroups(["a", "b", "c", "d"], 2);应返回 [a,b] [c,d]。我的代码返回 [a,c] [b,d]。这应该是一个简单的解决方案,但我仍然无法弄清楚。

function chunkArrayInGroups(arr, size) {
// Break it up.

var newarr=[];
var amount=0;
if(arr.length%2===0)
{
amount=arr.length/size;
}
else
amount=(arr.length/size)+1;
console.log(amount);
for(i=0;i<amount;i++)
{
newarr[i]=[];
}
console.log(newarr);
for(z=0;z<arr.length;z=z+size)
{

for(x=0;x<size;x++)
{
newarr[x].push(arr[z+x]);

}


}
console.log(newarr);
}

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

此外,如果您发现语法错误,请纠正我,我习惯于编写 Java。谢谢!

最佳答案

遍历数组中的所有项目,每当索引 % size 为 0 时,添加另一个子数组,然后将项目推送到最后一个子数组。

function chunkArrayInGroups(arr, size) {
var chunks = [];

for(var i = 0; i < arr.length; i++) {
if(i % size === 0) {
chunks.push([]);
}

chunks[chunks.length - 1].push(arr[i]);
}

return chunks;
}

console.log('Size 2', JSON.stringify(chunkArrayInGroups(['a', 'b', 'c', 'd'], 2)));
console.log('Size 3', JSON.stringify(chunkArrayInGroups(['a', 'b', 'c', 'd'], 3)));
console.log('Size 4', JSON.stringify(chunkArrayInGroups(['a', 'b', 'c', 'd'], 4)));
console.log('Size 6', JSON.stringify(chunkArrayInGroups(['a', 'b', 'c', 'd'], 6)));

关于javascript - 尝试在javascript中将数组拆分为指定数量的子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45466125/

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