摘要:中如何跳出循環結束遍歷直接拋結論,下表是中常用的實現循環遍歷的方法的跳出結束遍歷的辦法,經過測試后的總結。遍歷中返回才會退出執行,而則需要返回才會退出執行。
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); })
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/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://...
閱讀 2503·2021-09-28 09:36
閱讀 1505·2021-09-22 15:33
閱讀 3643·2019-08-30 15:44
閱讀 1753·2019-08-29 13:14
閱讀 3138·2019-08-29 11:17
閱讀 1453·2019-08-29 11:03
閱讀 2913·2019-08-26 17:10
閱讀 688·2019-08-26 12:13