中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

es6中some和every方法怎么使用

發布時間:2023-04-04 11:32:25 來源:億速云 閱讀:83 作者:iii 欄目:開發技術

這篇“es6中some和every方法怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“es6中some和every方法怎么使用”文章吧。

es6中的數組方法some()和every()都接收一個回調函數作為參數,該回調函數又接收三個參數,分別是數組元素、數組元素的索引、調用some或every方法的數組本身。它們的區別就是:

some方法用于判斷數組中是否存在某個符合判斷條件的元素,判斷在回調函數的函數體內完成,并由回調函數返回一個布爾值。如果回調函數在某次返回了true,則整個some方法返回true,且結束遍歷。

every方法用于判斷數組中是否任意一個元素都符合判斷條件,判斷同樣是在回調函數的函數體內完成,并由回調函數返回一個布爾值。如果回調函數在某次返回了false,則整個every方法返回false,且結束遍歷。

注意:some和every方法都不會改變原來的數組。

1、some方法舉例如下圖所示:

圖1

es6中some和every方法怎么使用

圖2

es6中some和every方法怎么使用

分析圖1可知,在每次執行回調函數時,回調函數返回的布爾值都為false,因此some方法不會提前退出遍歷,因此會把數組中的每一個元素都遍歷一次。從圖2可知,在判斷第一個元素是否符合條件時,回調函數就返回了true,則整個some方法返回true,直接停止了遍歷,不再判斷后面的元素。

2、every方法舉例:

圖3

es6中some和every方法怎么使用

圖4

es6中some和every方法怎么使用

根據前面的描述:every方法會在回調函數返回false時直接中止遍歷,因此得到圖3和圖4的執行結果。

3、回調函數沒有(主動)返回

上面的4個例子都是在回調函數主動返回布爾值,即調用了return語句的情況下分析的。下面來看如果回調函數沒有主動返回布爾值時的表現:

對于some方法:

圖5

es6中some和every方法怎么使用

對于every方法:

圖6

es6中some和every方法怎么使用

分析圖5和圖6,可以看到在回調函數沒有主動返回布爾值的情況下,some方法沒有提前停止元素遍歷,而every方法在第一個元素后就停止遍歷了;some方法提前停止遍歷的條件是return true,every方法提前停止遍歷的條件時return false;也就是說回調函數默認會返回false;

4、特殊情況

下面再來看關于回調函數的一種特殊情況:

對于some方法:

圖7

es6中some和every方法怎么使用

對于every方法:

圖8

es6中some和every方法怎么使用

分析圖7和圖8,在回調函數同樣沒有return語句的情況下,執行結果為什么與第3點描述的不一樣?即為什么這里能返回正確的結果?實際上,這里和第3的區別在于回調函數雖然沒有return語句,但同時也沒有大括號{}包含函數體。這種情況下,實際上和 {return xxx}的效果是一樣的,回調函數其實是有主動返回值的。

以上就是關于“es6中some和every方法怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

自治县| 烟台市| 青田县| 贵定县| 丰顺县| 昌黎县| 新邵县| 江口县| 延吉市| 沈丘县| 遵义县| 贵南县| 绥棱县| 四会市| 福清市| 娄烦县| 岑溪市| 丰原市| 诸暨市| 凌源市| 五指山市| 龙江县| 舞钢市| 乌什县| 汉沽区| 牡丹江市| 磴口县| 新巴尔虎右旗| 庆城县| 芦山县| 万盛区| 开封县| 江都市| 怀安县| 彰武县| 杂多县| 汶上县| 东港市| 什邡市| 界首市| 永顺县|