国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

forEach方法跳出循環(huán)

SolomonXie / 1578人閱讀

摘要:前文沒怎么理解的方法的童鞋使用時很容易遇到一個問題就是,當你想要跳出這個循環(huán)時,發(fā)現(xiàn)是不起作用的。這里可用于跳出循環(huán)。

前文

沒怎么理解JavaScript的forEach方法的童鞋使用forEach時很容易遇到一個問題就是,當你想要跳出這個循環(huán)時,發(fā)現(xiàn)returnbreak是不起作用的。下面我們來分析一下原因以及解決方法。

正文

首先我們要知道的是forEach方法的機制是對數組的每個有效元素執(zhí)行一次callback函數,然后returnbreak等只作用于一個函數,也就造成了無法跳出forEach循環(huán)的問題,而是只能跳過當前函數的執(zhí)行。

解決方案 曲線救國(SegmentFault)

通過使用拋出異常的方式可以中止。

function foo(arr ,item){
    var BreakException= {};

    try {
        arr.forEach(function(i) {
            if(i === item) throw BreakException;
            console.log(i);
        });
    } catch(e) {
        if (e!==BreakException) throw e;
    }
}
Array.some&Array.every

正常的使用環(huán)境:如果是測試一個數組里的元素是否符合某條件,且需要返回一個布爾值則應該使用這兩個方法。這里可用于跳出循環(huán)。

function foo(arr ,item){
        arr.some(function(i) {
            if(i === item) return true;
            console.log(i);
        });
}
function foo(arr ,item){
        arr.every(function(i) {
            if(i === item) return false;
            console.log(i);
        });
}
循規(guī)蹈矩

如果你需要這樣,使用forEach()方法是錯誤的,你可以用一個簡單的循環(huán)作為替代。—— MDN
對于多重for循環(huán),我們跳出循環(huán)需要特殊處理一下:

xh:    //首先將循環(huán)命名
 for(var i=0;i<10;i++){
    for(var j=0;j<5;j++){
        if(i==3 && j==4){
            break xh;    //跳出循環(huán)xh
        }
    }
 }
參考

https://segmentfault.com/q/10...

https://developer.mozilla.org...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/93353.html

相關文章

  • JavaScript中如何跳出循環(huán)/結束遍歷

    摘要:中如何跳出循環(huán)結束遍歷直接拋結論,下表是中常用的實現(xiàn)循環(huán)遍歷的方法的跳出結束遍歷的辦法,經過測試后的總結。遍歷中返回才會退出執(zhí)行,而則需要返回才會退出執(zhí)行。 JavaScript中如何跳出循環(huán)/結束遍歷 直接拋結論,下表是JS中常用的實現(xiàn)循環(huán)遍歷的方法的跳出/結束遍歷的辦法,經過測試后的總結。可能各位大佬還有其他的辦法,我在此表示大佬NB。 序號 方法 break continue...

    Simon 評論0 收藏0
  • 使用angularjs.foreach時return的問題

    摘要:解決方案用一個臨時變量存儲結果,當條件成立相同時將結果改為這樣雖然能獲得正確的返回值,但卻無法阻止的循環(huán)想來應該是用在歷遍數組元素來做一些操作,像這樣的應該用循環(huán)比較好一些 在寫一個比較數組對象中是否存在一個對象,存在返回true,失敗返回false.在return時,發(fā)現(xiàn)并沒有退出方法,自己測試了一下. 首先先寫一個數組對象,然后用angularjs的forEach方法循環(huán)比較,當存...

    Youngdze 評論0 收藏0
  • 利用try catch跳出forEach循環(huán)

    摘要:利用捕獲錯誤,在里滿足條件時拋出錯誤滿足條件拋出錯誤,立即跳出循環(huán)語句允許我們創(chuàng)建自定義錯誤。直接是捕獲不到的。 //利用 try catch 捕獲錯誤,在forEach里滿足條件時拋出錯誤 try{ arr.forEach(item => { if(true){ //滿足條件拋出錯誤,立即跳出循環(huán) //throw 語句允許我們創(chuàng)建自定...

    Hanks10100 評論0 收藏0
  • Javascript 數組循環(huán)遍歷之forEach

    摘要:是中遍歷數組的方法,大部分人常用循環(huán)來遍歷數組,現(xiàn)在我們來看一下的用法。兼容性和的類型都有的函數。 forEach是javascript中遍歷數組的方法,大部分人常用for()循環(huán)來遍歷數組,現(xiàn)在我們來看一下forEach的用法。 兼容性 Firefox 和Chrome 的Array 類型都有forEach的函數。使用如下: var arryAll = []; arryAll...

    nicercode 評論0 收藏0
  • Iterator 和 for...of 循環(huán)

    摘要:和循環(huán)遍歷器意義為四種數據集合,提供統(tǒng)一的接口機制來處理所有不同的數據結構。調用函數返回一個遍歷器對象,代表函數的內部指針。以后,每次調用遍歷器對象的方法,就會返回一個有著和兩個屬性的對象。 Iterator 和 for...of 循環(huán) Iterator(遍歷器)意義 為Array、Object、Map、Set四種數據集合,提供統(tǒng)一的接口機制來處理所有不同的數據結構 。 任何數據結構,...

    Drinkey 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<