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ù),沒(méi)有找到符合的項(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)遍歷找到符合條件的值,一旦找到則不會(huì)繼續(xù)迭代下去。
every:循環(huán)遍歷是否符合條件,一旦有一個(gè)不符合條件,則不會(huì)繼續(xù)迭代下去。
擴(kuò)展:every 和 some 的區(qū)別
every() 方法用于檢測(cè)數(shù)組的所有元素是否都符合指定條件,即 全真才真
every() 方法會(huì)遍歷數(shù)組,當(dāng)檢測(cè)到有一個(gè)元素不滿足指定條件時(shí),直接返回 false,并且停止遍歷,剩余元素不會(huì)再進(jìn)行檢測(cè)
const arr = [2, 4, 6, 8, 10]const res1 = arr.every(item => item < 5) // falseconst res2 = arr.every(item => item < 20) // true
特別注意: every() 不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè),當(dāng)數(shù)組為空時(shí),直接返回 true
const res = [].every(item => item < 5)console.log(res); // true
some() 方法用于檢測(cè)數(shù)組中是否有滿足指定條件的元素,即 一真就真
some() 方法會(huì)遍歷數(shù)組,當(dāng)檢測(cè)到有一個(gè)元素滿足指定條件時(shí),直接返回 true,并且停止遍歷,剩余元素不會(huì)再進(jìn)行檢測(cè)
const arr = [2, 4, 6, 8, 10]const res1 = arr.some(item => item < 1) // falseconst res2 = arr.some(item => item < 5) // true
特別注意: some() 不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè),當(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript中的console.time()函數(shù)詳細(xì)介紹
這篇文章主要介紹了JavaScript中的console.time()函數(shù)詳細(xì)介紹,console.time()函數(shù)主要用來(lái)統(tǒng)計(jì)程序執(zhí)行時(shí)間,需要的朋友可以參考下2014-12-12
改進(jìn) JavaScript 和 Rust 的互操作性并深入認(rèn)識(shí) wasm-bindgen 組件
這篇文章主要介紹了改進(jìn) JavaScript 和 Rust 的互操作性并深入認(rèn)識(shí) wasm-bindgen 組件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
JavaScript中的宏任務(wù)和微任務(wù)執(zhí)行順序
在?JavaScript?中,宏任務(wù)和微任務(wù)是指在執(zhí)行代碼的過(guò)程中的兩種不同的任務(wù)類型,這篇文章主要介紹了JavaScript中的宏任務(wù)和微任務(wù)執(zhí)行順序,需要的朋友可以參考下2022-12-12
15個(gè)頂級(jí)開(kāi)源JavaScript框架和庫(kù)
今天小編就為大家分享一篇關(guān)于15個(gè)頂級(jí)開(kāi)源JavaScript框架和庫(kù)的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
javascript實(shí)現(xiàn)查找數(shù)組中最大值方法匯總
本文給大家匯總了一下使用javascript實(shí)現(xiàn)查找數(shù)組中最大最小值的一些方法,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以來(lái)參考下。2016-02-02
通過(guò)JavaScript使Div居中并隨網(wǎng)頁(yè)大小改變而改變
自己的頁(yè)面太難看了,要居中沒(méi)居中,要顏色沒(méi)顏色,但是無(wú)論是怎么樣都得使登錄的框居中吧,下面與大家分享下通過(guò)JavaScript可以簡(jiǎn)單的使Div在頁(yè)面上居中,隨著網(wǎng)頁(yè)大小的改變做出相應(yīng)的改變2013-06-06

