此循环仅返回数组的第一个索引并停在那里。
const numArr = [2,4,6,8,10];
const iterate = (array) => {
for (let i = 0; i < array.length; i++) {
return array[i]
}
};
console.log(iterate(numArr));
回答1
使用 return
将在第一个 iteration 中结束循环
尝试
const numArr = [2,4,6,8,10];
const iterate = (array) => {
for (let i = 0; i < array.length; i++) {
console.log(array[i])
}
};
iterate(numArr);
回答2
正如 Take-Some-Bytes 在他的评论中提到的那样,这是因为 return 声明。在 JavaScript 中,函数将在调用 return 语句时停止执行。
在您的情况下,您调用该函数,该函数开始循环遍历数组,它从第一项开始,看到一个返回语句并停止该函数的执行。
另一方面:这种迭代方法似乎有点样板或重新发明已经可用的东西。
例如,您是否尝试过:
const numArr = [2,4,6,8,10];
numArr.forEach(item => {
console.log(item)
})
上面的代码做同样的事情:
const numArr = [2,4,6,8,10];
const iterate = (array) => {
for (let i = 0; i < array.length; i++) {
console.log(array[i])
}
};
iterate(numArr);