[英]Loop thought a multi dimensional array
我尝试将一个多维数组返回到一个函数中以对其进行迭代,但我不确定我的逻辑有什么问题
const arr = [[1,2], [3,4],[5,6]]
for(let i = 0; i < thirdInterval.length-1; i++){
getNumbers(thirdInterval[i], thirdInterval[i+1])
}
我想要实现的结果是将第一个元素返回到函数的第一个参数中,将数组的第二个元素返回到函数的第二个参数中。
您在这里所做的是遍历数组并仅获取索引 i 处的数组,例如arr[0]
是[1,2]
。 并且(thirdInterval[i], thirdInterval[i+1])
实际上等于([1,2], [3,4])
要访问第一个和第二个元素,您应该像下面这样处理它们:
for(let i = 0; i < thirdInterval.length-1; i++){
getNumbers(thirdInterval[i][0], thirdInterval[i][1])
}
const arr = [[1,2][3,4][5,6]];
for (var i = 0; i < arr.length; i++;) {
func(arr[i][0], arr[i][1];
}
您正在使用子数组迭代数组,这意味着thirdInterval[i]
包含两个项目。 您可以使用索引thirdInterval[i][0]
和thirdInterval[i][1]
,但由于您使用这些值调用函数,因此您可以使用 spread 代替 - getNumbers(...thirdInterval[i])
。
另外,如果不想跳过最后一项,循环的条件应该是i < thirdInterval.length
。
演示:
const thirdInterval = [[1,2],[3,4],[5,6]] const getNumbers = console.log // mock getNumbers for (let i = 0; i < thirdInterval.length; i++) { getNumbers(...thirdInterval[i]) }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.