for 循环能使用 continue break return 跳出循环,而 forEach 只能使用 return 跳出循环
- for 循环使用 continue 跳出本次for循环
- for 循环使用 break退出离break最近的整个for循环
- for 循环使用 return跳出所有for循环并且终止for循环后面语句的代码
// 使用 return
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 2; j++) {
for (let k = 0; k < 2; k++) {
if (k === 1) return
console.log(i, j, k)
}
}
}
console.log('return')
0 0 0
- forEach 不能使用 break continue,因为 break continue 用于for循环中,forEach遍历使用 return 也不能退出
const arr = [10, 20, 30]
// forEach 循环
arr.forEach((element, index) => {
if (index === 1) return
console.log(element)
})
10
30
在for循环和forEach遍历运行途中向数组添加元素,会影响for循环而不会影响forEach
- for循环
let newArr = [10, 20, 30]
for (let i = 0; i < newArr.length; i++) {
if (i === 1) newArr.push(40)
console.log(newArr[i])
}
10
20
30
40
- forEach
let newArr = [10, 20, 30]
newArr.forEach((item, i) => {
if (i === 1) newArr.push(40)
console.log(item)
})
10
20
30