众所周知,forEach 循环是无法中途跳出循环的,有点同学说不是可以通过抛出错误跳出循环吗?是的。抛出异常是广为流传的一种方法,结果是我们想要,但是你看代码,哪个正常人会这样写代码?是非 forEach 不用吗?还是其他的循环关键字不配呢。
forEach 抛出异常跳出循环
const list = [1, 2, 3, 4, 5, "a", "b", "c", "d", "e"];
try {
list.forEach((itm) => {
if (itm === "c") {
throw new Error("exit");
}
console.log(itm);
});
} catch (e) {
// console.log(e);
}
splice 变相跳出循环
const list = [1, 2, 3, 4, 5, "a", "b", "c", "d", "e"];
Object.assign(list).forEach((itm, idx, arr) => {
if (itm == "c") {
arr.splice(idx, arr.length - idx);
}
console.log(itm);
});
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容