gpt4 book ai didi

javascript - push() 方法在 JavaScript 中无法正常工作

转载 作者:行者123 更新时间:2023-12-04 12:11:20 24 4
gpt4 key购买 nike

我正在尝试编写一个非常简单的程序,它将一个数组划分为另一个定义大小较小的数组的数组,但是 push()方法不起作用。有人可以帮我吗?

function chunk(array, size) {
var newArray = [];
var tempArray = [];

for (let i = 0; i < array.length / size; i++) {
for (let j = size * i, k = 0; j < size * i + size; j++, k++)
tempArray[k] = array[j];

newArray.push(tempArray);
}

return newArray;
}

var data = [1, 2, 3, 4, 5, 6, 7, 8];

console.log(chunk(data, 2));
理想的输出应该是 [[1, 2],[3, 4], [5, 6], [7, 8]] .
但是我得到 [[7,8],[7,8],[7,8],[7,8]] .

最佳答案

您快到了。只需移动 tempArray在您的第一个 for 中定义-环形。否则,您每次都会推送相同的数组。
工作示例:

function chunk(array, size) {
const newArray = [];

for (let i = 0; i < array.length / size; i++) {
const tempArray = [];
for (let j = size * i, k = 0; j < size * i + size; j++, k++)
tempArray[k] = array[j];

newArray.push(tempArray);
}

return newArray;
};

const data = [1, 2, 3, 4, 5, 6, 7, 8];

console.log(chunk(data, 2)); // [[1, 2],[3, 4], [5, 6], [7, 8]]

关于javascript - push() 方法在 JavaScript 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68631202/

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