【发布时间】:2015-02-24 17:28:26
【问题描述】:
假设我有这个数组:
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])
}
还有其他方法,例如嵌套循环等。
我觉得这可以用更简单的方法解决,所以我希望看到更多建议
那么有什么优雅的方法可以循环数组中的每个“n”项,对它们执行一些操作,然后继续处理下一个“n”个元素。
更新:
上面的例子处理了一个 10 元素数组中的 2 个元素——这完全是随机的。我不是在寻找一种方法来处理数组中的对 - 问题是关于如何循环数组中的每个 N 个元素,对这些 N 个元素执行任何操作并继续下一个N 个元素
我也不打算创建新数组 - 问题仅与迭代原始数组有关。
【问题讨论】:
-
这似乎是一个奇怪的要求。你为什么要动态创建单独的变量?我认为至少你会想要创建一个数组数组?
-
动态创建新的
arr变量仅用于代码示例 - 它与手头的问题无关 -
有很好的分割数组的例子,在这个问题的答案*.com/questions/7273668/…
-
一对的逻辑意义是什么?数组中有 10 个元素,5 对,并且在对中重复,所以没有使用元素。这纯粹是随机的吗?
标签: javascript arrays