數組的 forEach 用於循環遍歷數據,會對數組中有效的每一項執行一次回調函數,可是在遍歷回調中使用 break 或 continue 會報錯,使用 return 也沒法終止循環。數組
Array.forEach((currentValue, index, array, thisArg) => {})bash
let arr = [1, 2, 3]
arr.forEach(item => {
if (item === 2) {
break // 報錯
}
console.log(item)
})
複製代碼
let arr = [1, 2, 3]
arr.forEach(item => {
if (item === 2) {
continue // 報錯
}
console.log(item)
})
複製代碼
let arr = [1, 2, 3]
arr.forEach(item => {
if (item === 2) {
return
}
console.log(item)
})
複製代碼
let arr = [1, 2, 3]
try {
arr.forEach(item => {
if (item === 2) {
throw('循環終止')
}
console.log(item)
})
} catch(e) {
console.log('e: ', e)
}
複製代碼
// 使用 Array.some()
arr.some(item => {
console.log('b: ',item)
return item === 2 // 當有數組有一項知足條件時結束並返回true
})
// 使用 Array.ervey()
arr.every(item => {
console.log('c: ',item)
return item !== 2 // 檢查數字中是否每一項都知足條件,若是有一項不知足就結束循環並返回false
})
複製代碼