摘要:中如何跳出循环结束遍历直接抛结论,下表是中常用的实现循环遍历的方法的跳出结束遍历的办法,经过测试后的总结。遍历中返回才会退出执行,而则需要返回才会退出执行。
JavaScript中如何跳出循环/结束遍历
直接抛结论,下表是JS中常用的实现循环遍历的方法的跳出/结束遍历的办法,经过测试后的总结。可能各位大佬还有其他的办法,我在此表示大佬NB。
序号 | 方法 | break | continue | return | return true | return false | 结论 |
---|---|---|---|---|---|---|---|
1 | for循环 | 成功 | 跳出本次循环 | 不合法 | 不合法 | 不合法 | √ |
2 | Array.forEach() | 不合法 | 不合法 | 跳出本次循环 | 跳出本次循环 | 跳出本次循环 | × |
3 | for...in | 成功 | 跳出本次循环 | 不合法 | 不合法 | 不合法 | √ |
4 | Array.map() | 不合法 | 不合法 | 跳出本次循环 | 跳出本次循环 | 跳出本次循环 | × |
5 | Array.some() | 不合法 | 不合法 | 跳出本次循环 | 成功 | 跳出本次循环 | √ |
6 | Array.every() | 不合法 | 不合法 | 成功 | 跳出本次循环 | 成功 | √ |
7 | Array.filter() | 不合法 | 不合法 | 跳出本次循环 | 跳出本次循环 | 跳出本次循环 | × |
forEach、map和filter目前我不知有什么办法停止遍历,在其他几种方法中,上表中列出的方法均可实现结束循环。1. for循环
var arr = ["a", "b", "c", "d", "e"]; var show = []; for (var i = 0; i < arr.length; i++) { if (i === 2) { break;// ["a", "b"] 成功跳出循环 // continue;// ["a", "b", "d", "e"] 只能跳出本次循环 // return;// Uncaught SyntaxError: Illegal return statement // return true;// Uncaught SyntaxError: Illegal return statement // return false;// Uncaught SyntaxError: Illegal return statement } show.push(arr[i]); }2. Array.forEach()
var arr = ["a", "b", "c", "d", "e"]; var show = []; arr.forEach((item, index) => { if (index === 2) { // break;// Uncaught SyntaxError: Illegal break statement // continue;// Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement // return;// ["a", "b", "d", "e"] 只能跳出本次循环 // return true;// ["a", "b", "d", "e"] 只能跳出本次循环 // return false;// ["a", "b", "d", "e"] 只能跳出本次循环 } show.push(item); })3. for...in...
var arr = ["a", "b", "c", "d", "e"]; var show = []; for (var item in arr) { if (item === "2") { break;// ["a", "b"] 跳出循环成功 // continue;// ["a", "b", "d", "e"] 只能跳出本次循环 // return;// Uncaught SyntaxError: Illegal return statement // return true;// Uncaught SyntaxError: Illegal return statement // return false;// Uncaught SyntaxError: Illegal return statement } show.push(arr[item]); }4. Array.map()
var arr = ["a", "b", "c", "d", "e"]; var show = []; arr.map((item, index) => { if (index === 2) { // break;// Uncaught SyntaxError: Illegal break statement // continue;// Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement // return;// ["a", "b", "d", "e"] 只能跳出本次循环 // return true;// ["a", "b", "d", "e"] 只能跳出本次循环 // return false;// ["a", "b", "d", "e"] 只能跳出本次循环 } show.push(item); })5. Array.some()
var arr = ["a", "b", "c", "d", "e"]; var show = []; arr.some((item, index) => { if (index === 2) { // break;// Uncaught SyntaxError: Illegal break statement // continue;// Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement // return;// ["a", "b", "d", "e"] 只能跳出本次循环 return true;// ["a", "b"] 成功跳出循环 // return false;// ["a", "b", "d", "e"] 只能跳出本次循环 } show.push(item); })6. Array.every()
var arr = ["a", "b", "c", "d", "e"]; var show = []; arr.every((item, index) => { if (index === 2) { // break;// Uncaught SyntaxError: Illegal break statement // continue;// Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement // return;// ["a", "b"] 成功跳出循环 // return true;// ["a", "b", "d", "e"] 只能跳出本次循环 return false;// ["a", "b"] 成功跳出循环 } return show.push(item); })
some()与every()不同,some遍历中一个为真全部即为真,而every遍历中全部为真才行。some遍历中返回true才会退出执行,而every则需要返回false才会退出执行。7. Array.filter()
var arr = ["a", "b", "c", "d", "e"]; var show = []; arr.filter((item, index) => { if (index === 2) { // break;// Uncaught SyntaxError: Illegal break statement // continue;// Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement // return;// ["a", "b", "d", "e"] 只能跳出本次循环 // return true;// ["a", "b", "d", "e"] 只能跳出本次循环 return false;// ["a", "b", "d", "e"] 只能跳出本次循环 } show.push(item); })
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/106932.html
摘要:小汪经过实践得出以下用途。空数组的类型也是,这表示在内部,数组本质上只是一种特殊的对象。调用函数时,某个参数未设置任何值,这时就可以传入,表示该参数为空。前端还是很有未来的下节内容细数实用黑科技二。 showImg(https://segmentfault.com/img/remote/1460000016507838); 前言 只有深入学精一门语言,学其他语言才能更好地举一反三,触类...
摘要:重新巩固系列,都是比较基础的东西,可以进行查漏补缺,很快看完,这是第三篇。其中,部分可以省略条件语句语句例子为,小于但大于,故输出语句当表达式的值等于值时,执行语句,遇到语句则跳出语句,若都没匹配到值,则执行中的语句。重新巩固JS系列,都是比较基础的东西,可以进行查漏补缺,很快看完,这是第三篇。 其他JS重新巩固系列: 重新巩固JS(一)——JavaScript基本类型 重新巩固JS(二)...
摘要:主要用于枚举对象数组遍历效率最低的方法。当前数组元素的值。传递给函数的初始值注意对于空数组是不会执行回调函数的。 前言 PS: 2018/04/26 优化一下排版,重新梳理一下方法,补充一些信息,删除JQuery库用法,只讲解Javascript自带的, for in 语句用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。主要用于枚举对象, 数组遍历效率最低的方法。 va...
摘要:和循环遍历器意义为四种数据集合,提供统一的接口机制来处理所有不同的数据结构。调用函数返回一个遍历器对象,代表函数的内部指针。以后,每次调用遍历器对象的方法,就会返回一个有着和两个属性的对象。 Iterator 和 for...of 循环 Iterator(遍历器)意义 为Array、Object、Map、Set四种数据集合,提供统一的接口机制来处理所有不同的数据结构 。 任何数据结构,...
摘要:中序遍历概念中序遍历指先遍历节点的左子树,再访问节点,最后遍历节点的右子树,按照这种规则不重复地访问树中所有节点的过程。用栈保存经过的待访问的节点,栈顶节点表示正在遍历节点的左子树。同时,说明栈顶节点的左子树遍历结束。 中序遍历 概念 「中序遍历」指先遍历节点的左子树,再访问节点,最后遍历节点的右子树,按照这种规则不重复地访问树中所有节点的过程。 思路 showImg(https://...
阅读 2491·2021-09-28 09:36
阅读 1486·2021-09-22 15:33
阅读 3634·2019-08-30 15:44
阅读 1742·2019-08-29 13:14
阅读 3131·2019-08-29 11:17
阅读 1441·2019-08-29 11:03
阅读 2903·2019-08-26 17:10
阅读 680·2019-08-26 12:13