JS中some和every的區(qū)別和用法詳解
JS中some和every的區(qū)別和用法
some和every是數(shù)組中迭代的方法
相同點(diǎn):some和every都有三個參數(shù),即item→當(dāng)前項(xiàng),index→當(dāng)前的索引值,array→數(shù)組本身;都可以遍歷數(shù)組
不同點(diǎn):
some相當(dāng)于邏輯關(guān)系中的或,只要有一個參數(shù)滿足條件,則中斷遍歷,返回true,如果遍歷完所有參數(shù),沒有找到符合的項(xiàng),即返回false;every相當(dāng)于關(guān)系中的且,只有所有關(guān)系都滿足條件時才返回true,一旦有一個不滿足,則中斷遍歷,返回fasle。
通俗一點(diǎn)就是 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ù)迭代下去。
擴(kuò)展:every 和 some 的區(qū)別
every() 方法用于檢測數(shù)組的所有元素是否都符合指定條件,即 全真才真
every() 方法會遍歷數(shù)組,當(dāng)檢測到有一個元素不滿足指定條件時,直接返回 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ù)組為空時,直接返回 true
const res = [].every(item => item < 5)console.log(res); // true
some() 方法用于檢測數(shù)組中是否有滿足指定條件的元素,即 一真就真
some() 方法會遍歷數(shù)組,當(dāng)檢測到有一個元素滿足指定條件時,直接返回 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ù)組為空時,直接返回 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中的console.time()函數(shù)詳細(xì)介紹
這篇文章主要介紹了JavaScript中的console.time()函數(shù)詳細(xì)介紹,console.time()函數(shù)主要用來統(tǒng)計(jì)程序執(zhí)行時間,需要的朋友可以參考下2014-12-12
改進(jìn) JavaScript 和 Rust 的互操作性并深入認(rèn)識 wasm-bindgen 組件
這篇文章主要介紹了改進(jìn) JavaScript 和 Rust 的互操作性并深入認(rèn)識 wasm-bindgen 組件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07
JavaScript中的宏任務(wù)和微任務(wù)執(zhí)行順序
在?JavaScript?中,宏任務(wù)和微任務(wù)是指在執(zhí)行代碼的過程中的兩種不同的任務(wù)類型,這篇文章主要介紹了JavaScript中的宏任務(wù)和微任務(wù)執(zhí)行順序,需要的朋友可以參考下2022-12-12
javascript實(shí)現(xiàn)查找數(shù)組中最大值方法匯總
本文給大家匯總了一下使用javascript實(shí)現(xiàn)查找數(shù)組中最大最小值的一些方法,非常的簡單實(shí)用,有需要的小伙伴可以來參考下。2016-02-02
通過JavaScript使Div居中并隨網(wǎng)頁大小改變而改變
自己的頁面太難看了,要居中沒居中,要顏色沒顏色,但是無論是怎么樣都得使登錄的框居中吧,下面與大家分享下通過JavaScript可以簡單的使Div在頁面上居中,隨著網(wǎng)頁大小的改變做出相應(yīng)的改變2013-06-06

