跳出一层循环,用return,break。continue,结束当前迭代
注意
foreach forEach() 和 map() 用不了 break/continue
原因
forEach 接受一个 回调函数(callback) 作为必要的参数 ; 而 回调函数 又会接受以下三个参数:currentValue 当前被操作的值; index 当前被操作的值的索引,可选; array forEach() 方法正在操作的数组,可选 forEach 接受一个 thisArg 作为可选参数 thisArg 可是做回调函数中的 this;return 只会起到中止callback 的作用,结束当前迭代,不能跳出循环。
forEach 的完整语法
arr.forEach(callback(currentValue [, index [, array]])[, thisArg])
跳出多层循环
- throw new Error();但是会报异常
- 使用命名循环,为循环命名,跳出对应的循环。
let name="";
//跳出哪层循环
testLoop:
for (let i = 0; i < arr.length; i++) {
console.log("第1层循环",i);
for (let j = 0; j < arr[i].length; j++) {
console.log("第2层循环",j);
if (arr[i][j] === '测试01') {
name= arr[i].name
// 跳出命名的循环
break testLoop
}
}
}