gpt4 book ai didi

JavaScript 数组推送缺失值

转载 作者:行者123 更新时间:2023-12-01 01:29:44 25 4
gpt4 key购买 nike

该函数将获取一个数组并将其分成单独的数组,在开头创建一个偏移量并将其包装在另一个数组中。我遇到的问题是原始数组 (arr1) 中的所有数字并未包含在 block 中。您可以在我下面提供的链接中看到输出。它错过了数字 5、13、21、29 和 30。谁能解释为什么会发生这种情况?

function chunkifyArray(input, chunkSize, offset) {

const output = [];

let tmp = offset ? new Array(offset).fill('') : [];

for(var i = 0; i < input.length; i++){
if (tmp.length < chunkSize) {
tmp.push(input[i]);
} else {
output.push(tmp);
tmp = [];
}
}

return output;
}

var arr1 = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30'];
console.log(chunkifyArray(arr1, 7, 3));

https://jsbin.com/zucaguvoti/edit?js,console

最佳答案

因为你从不推送这些值 - 你直接清空了 tmp...试试这个:

for(var i = 0; i < input.length; i++){
tmp.push(input[i]);
if (tmp.length == chunkSize) {
output.push(tmp);
tmp = [];
}
}

编辑以确保最后一个 block 被推送到输出...

关于JavaScript 数组推送缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53400585/

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