最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS中map與forEach無法跳出循環(huán)及every和some的使用

 更新時間:2023年05月24日 14:27:14   作者:JuS巨山超力霸  
在我們平時使用習(xí)慣中,for循環(huán)里要跳出整個循環(huán)是使用break,但在數(shù)組中用forEach循環(huán)或者map如要退出整個循環(huán)使用break會報錯,使用return也不能跳出循環(huán),下面這篇文章主要介紹了關(guān)于JS中map與forEach無法跳出循環(huán)及every和some的使用的相關(guān)資料,需要的朋友可以參考下

前言

在項目中遍歷數(shù)組的時候,使用到了array.map

在循環(huán)里面需要進(jìn)行判斷,只要有一項滿足條件就返回false

發(fā)現(xiàn)效果不對,debug一下才發(fā)現(xiàn),return沒有真正退出循環(huán)。

下面探索一下正確的跳出循環(huán)方案~~

1.map

使用return不能跳出循環(huán)

  let arr = [1,2,3];
    arr.map((item)=>{
        if(item == 2){
            return false
        }
        console.log(item)
    })

使用break報錯

 let arr = [1,2,3];
    arr.map((item)=>{
        if(item == 2){
            break;
        }
        console.log(item)
    })

2.forEach

使用return不能跳出循環(huán)

 let arr = [1,2,3];
    arr.forEach((item)=>{
        if(item == 2){
            return false
        }
        console.log(item)
    })

使用break報錯

let arr = [1,2,3];
    arr.forEach((item)=>{
        if(item == 2){
          break;
        }
        console.log(item)
    })

3.every方法 

判斷數(shù)組中是否所有元素都滿足條件

every()方法會遍歷數(shù)組的每一項,如果有有一項不滿足條件,則表達(dá)式返回false,剩余的項將不會再執(zhí)行檢測;如果遍歷完數(shù)組后,每一項都符合條件,則返回true。

return true : 循環(huán)繼續(xù) 當(dāng)前元素滿足條件,繼續(xù)判斷,如果循環(huán)執(zhí)行完畢還是true,則every的返回值就是true

return false : 循環(huán)結(jié)束,當(dāng)前元素不滿足條件,every的返回值也是false

let arr = [1,2,3];
    arr.every((item)=>{
        if(item == 2){
          return false
        }
        console.log(item)
    })

4.some方法 

判斷數(shù)組中是否有滿足條件的元素

return true : 循環(huán)結(jié)束,找到了滿足條件的元素

return false : 循環(huán)繼續(xù),沒找到循環(huán)繼續(xù),如果所有元素全部遍歷還是沒找到,最終結(jié)果為false

let arr = [1,2,3];
    arr.some((item)=>{
        if(item == 2){
          return true
        }
        console.log(item)
    })

 5.for循環(huán)使用return 和 break 都可以跳出循環(huán)

單層循環(huán)

1.for循環(huán)中return語句:會直接跳出循環(huán),

因為js中for是沒有局部作用域的概念的,所以只有把for循環(huán)放在函數(shù)中時,才可以在for循環(huán)中使用return語句。

 2.for循環(huán)中的break語句:和return一樣會直接跳出循環(huán)

與return不同的是,使用break時,for循環(huán)可以不用一定放在函數(shù)中 ;

 多層循環(huán):

1.return:和單層循環(huán)一樣必須放在函數(shù)中,否則將會報語法錯誤

使用return會直接跳出函數(shù)

   var a=[1,2,3];
   var b=[4,5,6,7,8];
   function test(){
        for(var i=0;i<a.length;i++){
            for(var j=0;j<b.length;j++){
                if(b[j]==5){
                    // break
                    return;
                }else{
                    console.log(13);
                }
            }
            console.log(12);
        }
        console.log(14);
    }
    test();//打印結(jié)果為:13

使用return后,當(dāng)b[j]=5的時候,會直接跳出函數(shù),for循環(huán)后面的語句也不再執(zhí)行;

2.break語句:和單層循環(huán)一樣,可以可以不用放在函數(shù)中

但是在多層循環(huán)中與return不同的是,break不是跳出函數(shù),而是跳出最里層的for循環(huán),外面的循環(huán)和最外層for循環(huán)后面的語句也將繼續(xù)執(zhí)行

 var a=[1,2,3];
 var b=[4,5,6,7,8];
 function test(){
        for(var i=0;i<a.length;i++){
            for(var j=0;j<b.length;j++){
                if(b[j]==5){
                    break ;
                    // return;
                }else{
                    console.log(13);
                }
            }
            console.log(12);
        }
        console.log(14);
    }
    test();//打印結(jié)果為13 12 13 12 13 12 14

總結(jié)

到此這篇關(guān)于JS中map與forEach無法跳出循環(huán)及every和some的使用的文章就介紹到這了,更多相關(guān)JS map與forEach無法跳出循環(huán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript AOP編程實例

    JavaScript AOP編程實例

    這篇文章主要介紹了JavaScript AOP編程,實例分析了javascript實現(xiàn)AOP編程的基本技巧,需要的朋友可以參考下
    2015-06-06
  • javascript中日期轉(zhuǎn)換成時間戳的小例子

    javascript中日期轉(zhuǎn)換成時間戳的小例子

    javascript中日期轉(zhuǎn)換成時間戳的小例子,需要的朋友可以參考一下
    2013-03-03
  • 理解Javascript_09_Function與Object

    理解Javascript_09_Function與Object

    在《理解Javascript_08_函數(shù)對象》中講解了很多函數(shù)對象的問題,同時也留下了許多疑問,今天讓我們來解答部分問題。
    2010-10-10
  • JS利用Intl解決前端日期和時間的格式化詳解

    JS利用Intl解決前端日期和時間的格式化詳解

    Intl?是一個全局對象,它的主要用途就是展示國際化信息,可以將字符串,數(shù)字和日期和時間轉(zhuǎn)換為指定地區(qū)的格式。這篇文章就來和大家聊聊如何利用Intl解決前端日期和時間的格式化吧
    2023-03-03
  • JS中 new Date() 各方法的用法說明

    JS中 new Date() 各方法的用法說明

    這篇文章主要介紹了JS中 new Date() 各方法的用法,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • JS中hasOwnProperty方法用法簡介

    JS中hasOwnProperty方法用法簡介

    hasOwnProperty(propertyName)方法 是用來檢測屬性是否為對象的自有屬性,如果是,返回true,否者false; 參數(shù)propertyName指要檢測的屬性名,這篇文章給大家介紹JS中hasOwnProperty方法用法簡介,感興趣的朋友一起看看吧
    2024-01-01
  • 微信小程序日歷彈窗選擇器代碼實例

    微信小程序日歷彈窗選擇器代碼實例

    這篇文章主要介紹了微信小程序日歷彈窗選擇器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 利用JS實現(xiàn)加減簡易計算器

    利用JS實現(xiàn)加減簡易計算器

    這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript制作一個簡單的網(wǎng)頁版加減計算器,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-05-05
  • 關(guān)于BootstrapTable 導(dǎo)出數(shù)據(jù)的問題最終解決方案

    關(guān)于BootstrapTable 導(dǎo)出數(shù)據(jù)的問題最終解決方案

    這篇文章主要介紹了BootstrapTable 導(dǎo)出數(shù)據(jù)的問題,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 一文搞懂webpack?hash持久化的原理

    一文搞懂webpack?hash持久化的原理

    本文主要介紹了webpack?hash持久化的原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評論

石河子市| 南郑县| 扶余县| 新竹市| 枣庄市| 交口县| 噶尔县| 洪雅县| 嘉兴市| 探索| 贵港市| 江北区| 同江市| 雷波县| 新丰县| 安吉县| 云霄县| 仁化县| 巴东县| 革吉县| 公安县| 宜州市| 庆阳市| 兴安盟| 台中市| 布尔津县| 玉龙| 柞水县| 星座| 延川县| 彭泽县| 常熟市| 墨脱县| 长泰县| 绿春县| 堆龙德庆县| 石棉县| 和林格尔县| 高台县| 六安市| 和静县|