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

标签 javascript array-push

我正在尝试编写一个非常简单的程序,它将一个数组划分为另一个定义大小较小的数组的数组,但是 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/

相关文章:

javascript - Paypal JS SDK Smart Payment - 禁用无帐户信用卡支付的地址提示

javascript - 在将类添加到另一个元素时删除类

php - 如何使用 array_push 向数组添加值和键

javascript - 使用 javascript 将值插入数组

javascript - 将限制设置为可滚动表中的 div

javascript - 在 JavaScript/jQuery 中,如何检索名称中包含空格的数据?

Javascript 更新数组值(如果存在),否则将新数组推送到对象

php - 动态地将值插入到带有索引的数组中

javascript - 在 Rails Asset Pipeline 中创建通用 javascript 函数

php - array_push 在 foreach 循环中不起作用