前言:return无法跳出forEach循环?
(() => { var a = [1, 2, 3, 4, 5]; a.forEach((e, k) => { if (k == 2) return ""; console.log(k); }); console.log("======= forEach return 跳不出循环 ======="); for (let index = 0; index < a.length; index++) { if (index == 2) return console.log("======= for return 跳出循环 ======="); console.log(index); } })();
方法一:try catch + throw Errow
(() => { var a = [1, 2, 3, 4, 5]; try { a.forEach((e, k) => { if (k == 2) throw Error("跳出循环"); console.log(k); }); } catch (error) { console.error("error", error); } })();方法二:设置数组长度为0
(() => { var a = [1, 2, 3, 4, 5]; a.forEach((e, k) => { if (k == 2) { console.log("跳出循环"); return (a.length = 0); } console.log(k); }); })();
方法三:移除数组元素
(() => { var a = [1, 2, 3, 4, 5]; a.forEach((e, k) => { if (k == 2) { console.log("跳出循环"); return a.splice(k + 1, a.length - 1); } console.log(k); }); })();
写在最后:其实通过return是可以退出循环的,但是要改变数组才能是循环停止,比如方法二、方法三,如果不加上return,那么还是会继续循环。
标签:03,return,21,index,2024,循环,forEach,console,log From: https://www.cnblogs.com/iuniko/p/18086779