javascript - 按 [未知整数] 组遍历数组

标签 javascript arrays

<分区>

假设我有一个大于 0 的整数 n 和一个像这样的数组:

var array = [1, 2, 5, 6, 8, 9, 12, 13, 17...] //random values

我将如何遍历此数组,一次遍历并获取值 n(并将其也放入二维数组中)?

如果 n 是 3,例如,我想要一个返回值

[[1, 2, 5], [6, 8, 9], [12, 13, 17]...]

代码应该是这样的:

var array = [];
for (var i = 0; i < array.length; i += 3) {
    var first = array[i];
    var second = array[i+1];
    var third = array[i+2];

    array.push([
        first, second, third
    ]);
}

问题是我有固定的值来通过(ii+1 等)获取我的对象

如果我有一个未知的整数,那么一直递增到 n 将不起作用。

我将如何实现这一目标?

最佳答案

使用 slice 获取 block 并遍历数组:

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];

const partition = (n, arr) => {
  const result = [];
  let i = 0;
  
  while(i < arr.length) {
    result.push(arr.slice(i, i + n));
    i = i + n;
  }
  
  return result;
};

console.log(partition(1, arr));
console.log(partition(2, arr));
console.log(partition(3, arr));
console.log(partition(4, arr));

关于javascript - 按 [未知整数] 组遍历数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47917229/

相关文章:

arrays - 如何在java中创建一个只读数组?

javascript - 防止标记在缩小时缩放

javascript - 如何获取多维数组中的连续数值 1,2,3,4,5 等

Python:将 2D 数组与 1 个具有不同值的公共(public)列组合

Python 映射数组

arrays - 需要帮助根据文件名中的时间戳对文件列表进行排序

Javascript如何正确克隆而不修改对象

javascript - 在没有服务器端编码的情况下将动态 URL 字段传递到 iframe

javascript - Testcafe native 浏览器对话框未显示,getNativeDialogHistory 未定义

c - 在 C 中更新二维数组