Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 循环';n';在每次迭代中分组的元素_Javascript_Arrays - Fatal编程技术网

Javascript 循环';n';在每次迭代中分组的元素

Javascript 循环';n';在每次迭代中分组的元素,javascript,arrays,Javascript,Arrays,假设我有一个数组: var arr = [1,2,3,4,5,6,7,8,9,10] 示例:我想构造5个数组,每个数组中的每一对都是 arr1 = [1,2] arr2 = [2,4] arr3 = [5,6] 这当然可以用模运算符(%)来解决,因为它们是简单的对-因此变成: for (var i = 0; i < arr.length; i++) { if(arr[i] % 2 === 0) window['arr' + i].push(arr[i], arr[i - 1

假设我有一个数组:

var arr = [1,2,3,4,5,6,7,8,9,10]
示例:我想构造5个数组,每个数组中的每一对都是

arr1 = [1,2]
arr2 = [2,4]
arr3 = [5,6]
这当然可以用模运算符(%)来解决,因为它们是简单的对-因此变成:

for (var i = 0; i < arr.length; i++) {
  if(arr[i] % 2 === 0)
    window['arr' + i].push(arr[i], arr[i - 1])
}
for(变量i=0;i
还有其他方法,例如使用嵌套循环等

我觉得这可以用一种更简单的方法来解决,所以我想看到更多的建议


那么,什么是一种优雅的方式来循环数组中的每个“n”项,对它们执行一些操作,然后转到下一个“n”元素呢

更新:

上面的例子处理10个元素数组中的2个元素,这是完全随机的。我不是在寻找处理数组中的对的方法-问题是如何循环数组中的每N个元素,对这些N个元素执行任何操作,然后继续下一个N个元素


我也不想创建新的数组-问题只与迭代原始数组有关。

使用普通的旧
for
循环,如下所示

var N = 3;
for (var i = 0; i < array.length; i += N) {
    // Do your work with array[i], array[i+1]...array[i+N-1]
}
var N=3;
对于(变量i=0;i
只需在
for
循环中增加
n

for (var i = 0; i < arr.length; i += 2)
    console.log(arr[i], arr[i + 1]);

这似乎是一个奇怪的要求。为什么要尝试动态创建单独的变量?我想,至少你会想创建一个数组数组?动态创建新的
arr
变量只是为了代码示例-它与手头的问题无关有拆分数组的好例子,在这个问题的答案中,一对数组的逻辑意义是什么?数组中有10个元素,5对,并且在对中重复,因此元素是未使用的。这纯粹是随机的吗?
function walk(arr, n, fn) {
    for (var i = 0; i < arr.length; i += n)
        fn(arr.slice(i, i + n));
}

walk([1,2,3,4,5,6], 2, function (segment) {
    console.log(segment);
});