方法一:改用普通for循环,这样就可以使用break,continue

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
let arr = [1, 2, 3, 4, 5];
for(let i = 0; i < arr.length; i++){
if(i === 2) break; // 或continue
console.log(arr[i])
}

// 结果
1
2

// continue
1
2
4
5

方法二:利用try…catch在特定时机抛出异常达到跳出循环的效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
let arr = [1, 2, 3, 4, 5],
key;
try {
arr.forEach(item => {
if(item === 2) {
key = item; // 记录跳出循环时机
throw Error()
}
console.log(item)
})
} catch(error) {
// 跳出循环后要做的操作
...
}
console.log('跳出循环时机:'+:key)

// 结果
1
2
跳出循环时机:2