JS中some和every的區(qū)別和用法詳解
JS中some和every的區(qū)別和用法
some和every是數(shù)組中迭代的方法
相同點(diǎn):some和every都有三個(gè)參數(shù),即item→當(dāng)前項(xiàng),index→當(dāng)前的索引值,array→數(shù)組本身;都可以遍歷數(shù)組
不同點(diǎn):
some相當(dāng)于邏輯關(guān)系中的或,只要有一個(gè)參數(shù)滿足條件,則中斷遍歷,返回true,如果遍歷完所有參數(shù),沒有找到符合的項(xiàng),即返回false;every相當(dāng)于關(guān)系中的且,只有所有關(guān)系都滿足條件時(shí)才返回true,一旦有一個(gè)不滿足,則中斷遍歷,返回fasle。
通俗一點(diǎn)就是 some:一真即真,every:一假即假
let arr = [7, 6, 5, 4, 3, 2, 1,0]; //一真即真,滿足一個(gè)條件都返回 true console.log('some-→' + arr.some((item, index,array) => { console.log(array) return item > 6 // 返回true })); //一假即假,一個(gè)條件不滿足就返回false console.log('every-→' + arr.every((item, index) => { return item // 返回 false }));
總結(jié):
some:循環(huán)遍歷找到符合條件的值,一旦找到則不會繼續(xù)迭代下去。
every:循環(huán)遍歷是否符合條件,一旦有一個(gè)不符合條件,則不會繼續(xù)迭代下去。
擴(kuò)展:every 和 some 的區(qū)別
every() 方法用于檢測數(shù)組的所有元素是否都符合指定條件,即 全真才真
every() 方法會遍歷數(shù)組,當(dāng)檢測到有一個(gè)元素不滿足指定條件時(shí),直接返回 false,并且停止遍歷,剩余元素不會再進(jìn)行檢測
const arr = [2, 4, 6, 8, 10]const res1 = arr.every(item => item < 5) // falseconst res2 = arr.every(item => item < 20) // true
特別注意: every() 不會對空數(shù)組進(jìn)行檢測,當(dāng)數(shù)組為空時(shí),直接返回 true
const res = [].every(item => item < 5)console.log(res); // true
some() 方法用于檢測數(shù)組中是否有滿足指定條件的元素,即 一真就真
some() 方法會遍歷數(shù)組,當(dāng)檢測到有一個(gè)元素滿足指定條件時(shí),直接返回 true,并且停止遍歷,剩余元素不會再進(jìn)行檢測
const arr = [2, 4, 6, 8, 10]const res1 = arr.some(item => item < 1) // falseconst res2 = arr.some(item => item < 5) // true
特別注意: some() 不會對空數(shù)組進(jìn)行檢測,當(dāng)數(shù)組為空時(shí),直接返回 false
const res = [].some(item => item < 1)console.log(res); // false
到此這篇關(guān)于JS中some和every的區(qū)別和用法的文章就介紹到這了,更多相關(guān)js some和every內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于JavaScript偽隨機(jī)正態(tài)分布代碼實(shí)例
這篇文章主要介紹了基于JavaScript偽隨機(jī)正態(tài)分布代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11js案例之鼠標(biāo)跟隨jquery版(實(shí)例講解)
下面小編就為大家?guī)硪黄猨s案例之鼠標(biāo)跟隨jquery版(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07微信小程序?qū)崿F(xiàn)單選選項(xiàng)卡切換效果
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)單選選項(xiàng)卡切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02Javascript 獲取鼠標(biāo)當(dāng)前的位置實(shí)現(xiàn)方法
這篇文章主要介紹了Javascript 獲取鼠標(biāo)當(dāng)前的位置實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2016-10-10localStorage設(shè)置有效期和過期時(shí)間的簡單方法
眾所周知前端三大緩存,cookie,sessionStorage,localStorage,下面這篇文章主要給大家介紹了關(guān)于localStorage設(shè)置有效期和過期時(shí)間的相關(guān)資料,需要的朋友可以參考下2022-02-02Echarts圖表如何利用formatter自定義tooltip的內(nèi)容和樣式
這篇文章主要給大家介紹了關(guān)于Echarts圖表如何利用formatter自定義tooltip的內(nèi)容和樣式的相關(guān)資料,echarts的圖表配置非常的靈活自由,但是不熟悉的時(shí)候容易不知道怎么配置,需要的朋友可以參考下2023-06-06