JS中some和every的區(qū)別和用法詳解
JS中some和every的區(qū)別和用法
some和every是數(shù)組中迭代的方法
相同點:some和every都有三個參數(shù),即item→當前項,index→當前的索引值,array→數(shù)組本身;都可以遍歷數(shù)組
不同點:
some相當于邏輯關(guān)系中的或,只要有一個參數(shù)滿足條件,則中斷遍歷,返回true,如果遍歷完所有參數(shù),沒有找到符合的項,即返回false;every相當于關(guān)系中的且,只有所有關(guān)系都滿足條件時才返回true,一旦有一個不滿足,則中斷遍歷,返回fasle。
通俗一點就是 some:一真即真,every:一假即假
let arr = [7, 6, 5, 4, 3, 2, 1,0]; //一真即真,滿足一個條件都返回 true console.log('some-→' + arr.some((item, index,array) => { console.log(array) return item > 6 // 返回true })); //一假即假,一個條件不滿足就返回false console.log('every-→' + arr.every((item, index) => { return item // 返回 false }));
總結(jié):
some:循環(huán)遍歷找到符合條件的值,一旦找到則不會繼續(xù)迭代下去。
every:循環(huán)遍歷是否符合條件,一旦有一個不符合條件,則不會繼續(xù)迭代下去。
擴展:every 和 some 的區(qū)別
every() 方法用于檢測數(shù)組的所有元素是否都符合指定條件,即 全真才真
every() 方法會遍歷數(shù)組,當檢測到有一個元素不滿足指定條件時,直接返回 false,并且停止遍歷,剩余元素不會再進行檢測
const arr = [2, 4, 6, 8, 10]const res1 = arr.every(item => item < 5) // falseconst res2 = arr.every(item => item < 20) // true
特別注意: every() 不會對空數(shù)組進行檢測,當數(shù)組為空時,直接返回 true
const res = [].every(item => item < 5)console.log(res); // true
some() 方法用于檢測數(shù)組中是否有滿足指定條件的元素,即 一真就真
some() 方法會遍歷數(shù)組,當檢測到有一個元素滿足指定條件時,直接返回 true,并且停止遍歷,剩余元素不會再進行檢測
const arr = [2, 4, 6, 8, 10]const res1 = arr.some(item => item < 1) // falseconst res2 = arr.some(item => item < 5) // true
特別注意: some() 不會對空數(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 獲取鼠標當前的位置實現(xiàn)方法
這篇文章主要介紹了Javascript 獲取鼠標當前的位置實現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2016-10-10localStorage設(shè)置有效期和過期時間的簡單方法
眾所周知前端三大緩存,cookie,sessionStorage,localStorage,下面這篇文章主要給大家介紹了關(guān)于localStorage設(shè)置有效期和過期時間的相關(guān)資料,需要的朋友可以參考下2022-02-02Echarts圖表如何利用formatter自定義tooltip的內(nèi)容和樣式
這篇文章主要給大家介紹了關(guān)于Echarts圖表如何利用formatter自定義tooltip的內(nèi)容和樣式的相關(guān)資料,echarts的圖表配置非常的靈活自由,但是不熟悉的時候容易不知道怎么配置,需要的朋友可以參考下2023-06-06