亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

es6中some和every方法使用簡單示例

 更新時(shí)間:2023年04月03日 09:53:25   作者:tdhszsh  
JavaScript在ES6版本后提供了一些更加便捷的方法供開發(fā)者使用,實(shí)現(xiàn)原理其實(shí)是在對(duì)應(yīng)的構(gòu)造函數(shù)原型提供方法,下面這篇文章主要給大家介紹了關(guān)于es6中some和every方法使用的相關(guān)資料,需要的朋友可以參考下

文章略長,但比較簡單。

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

some方法用于判斷數(shù)組中是否存在某個(gè)符合判斷條件的元素,判斷在回調(diào)函數(shù)的函數(shù)體內(nèi)完成,并由回調(diào)函數(shù)返回一個(gè)布爾值。如果回調(diào)函數(shù)在某次返回了true,則整個(gè)some方法返回true,且結(jié)束遍歷。

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

注意:some和every方法都不會(huì)改變?cè)瓉淼臄?shù)組。

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

圖1

圖1

圖2

圖2

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

2、every方法舉例:

圖3

圖4

根據(jù)前面的描述:every方法會(huì)在回調(diào)函數(shù)返回false時(shí)直接中止遍歷,因此得到圖3和圖4的執(zhí)行結(jié)果。

3、回調(diào)函數(shù)沒有(主動(dòng))返回

上面的4個(gè)例子都是在回調(diào)函數(shù)主動(dòng)返回布爾值,即調(diào)用了return語句的情況下分析的。下面來看如果回調(diào)函數(shù)沒有主動(dòng)返回布爾值時(shí)的表現(xiàn):

對(duì)于some方法:

圖5

對(duì)于every方法:

圖6

分析圖5和圖6,可以看到在回調(diào)函數(shù)沒有主動(dòng)返回布爾值的情況下,some方法沒有提前停止元素遍歷,而every方法在第一個(gè)元素后就停止遍歷了;some方法提前停止遍歷的條件是return true,every方法提前停止遍歷的條件時(shí)return false;也就是說回調(diào)函數(shù)默認(rèn)會(huì)返回false;

4、特殊情況

下面再來看關(guān)于回調(diào)函數(shù)的一種特殊情況:

對(duì)于some方法:

圖7

對(duì)于every方法:

圖8

分析圖7和圖8,在回調(diào)函數(shù)同樣沒有return語句的情況下,執(zhí)行結(jié)果為什么與第3點(diǎn)描述的不一樣?即為什么這里能返回正確的結(jié)果?實(shí)際上,這里和第3的區(qū)別在于回調(diào)函數(shù)雖然沒有return語句,但同時(shí)也沒有大括號(hào){}包含函數(shù)體。這種情況下,實(shí)際上和 {return xxx}的效果是一樣的,回調(diào)函數(shù)其實(shí)是有主動(dòng)返回值的。

總結(jié)一下,有三個(gè)重要的點(diǎn):

(1)some和every方法提前停止遍歷的前提(分別是回調(diào)函數(shù)return true和return false);

(2)回調(diào)函數(shù)沒有主動(dòng)返回布爾值時(shí),默認(rèn)都是返回false;

(3)回調(diào)函數(shù)的函數(shù)體只有一個(gè)語句且沒有{}包含,實(shí)際上和有{}包含且有return語句是相同的。

到此這篇關(guān)于es6中some和every方法使用的文章就介紹到這了,更多相關(guān)es6 some和every方法使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論