JavaScript中遍历数组小问题
1. break、return对遍历的影响
const arr = [1, 2, 3, 4, 5, 6];
for - break
输出:for (let i = 0; i < arr.length; i++) { if (arr[i] === 3) { console.log(i); break; } console.log(arr[i]); }
for - return
输出:for (let i = 0; i < arr.length; i++) { if (arr[i] === 3) { console.log(i); // 2. 再打印 2 return; } console.log(arr[i]); // 1. 先打印 1 2 }
for循环中,break和return效果是一样的,都会结束本次
if{}
、之后语句以及整个循环体。forEach - break
输出:arr.forEach((item, i) => { if (arr[i] === 3) { console.log(i) break; } console.log(arr[i]) });
forEach - return
输出:arr.forEach((item, i) => { if (arr[i] === 3) { console.log(i) return; } console.log(arr[i]) });
forEach循环中,不支持break语句;return会结束本次
if{}
和之后语句, 但不会结束整个循环,因为forEach不会停止的。