JavaScript 數(shù)組的常用方法find 和 filter詳解及區(qū)別介紹
find 和 filter 都是 JavaScript 數(shù)組的常用方法,用來查找符合條件的元素,但它們有一些關(guān)鍵的區(qū)別:
1.find方法
- 返回值:
find方法返回?cái)?shù)組中 第一個(gè)符合條件的元素,如果沒有找到符合條件的元素,返回undefined。 - 用途:用于查找并返回第一個(gè)符合條件的元素。
- 結(jié)束早:一旦找到符合條件的元素,
find就會(huì)停止遍歷,并返回該元素。
語法:
const result = array.find(callback(element, index, array));
callback:是一個(gè)函數(shù),接受三個(gè)參數(shù)element、index和array。只要回調(diào)函數(shù)返回true,find就會(huì)返回該元素。
示例:
const arr = [1, 2, 3, 4, 5]; const result = arr.find(num => num > 3); console.log(result); // 4 (找到第一個(gè)大于 3 的數(shù))
2.filter方法
- 返回值:
filter方法返回一個(gè) 新數(shù)組,該數(shù)組包含了 所有符合條件的元素。如果沒有符合條件的元素,返回一個(gè)空數(shù)組。 - 用途:用于查找所有符合條件的元素并返回它們的數(shù)組。
- 不結(jié)束:即使找到了符合條件的元素,
filter會(huì)繼續(xù)遍歷數(shù)組中的所有元素。
語法:
const result = array.filter(callback(element, index, array));
callback:是一個(gè)函數(shù),接受三個(gè)參數(shù)element、index和array。只要回調(diào)函數(shù)返回true,filter就會(huì)將該元素放入新數(shù)組中。
示例:
const arr = [1, 2, 3, 4, 5]; const result = arr.filter(num => num > 3); console.log(result); // [4, 5] (所有大于 3 的數(shù))
主要區(qū)別總結(jié):
- 返回結(jié)果:
find:返回 第一個(gè)符合條件的元素。filter:返回 所有符合條件的元素組成的新數(shù)組。
- 遍歷行為:
find:找到第一個(gè)符合條件的元素后就停止遍歷。filter:遍歷數(shù)組的每個(gè)元素,不會(huì)提前停止,返回符合條件的所有元素。
- 返回空值:
find:如果沒有符合條件的元素,返回undefined。filter:如果沒有符合條件的元素,返回空數(shù)組[]。
選擇使用哪個(gè)?
- 使用
find當(dāng)你只關(guān)心找到 第一個(gè)匹配的元素 時(shí)。 - 使用
filter當(dāng)你需要 所有匹配的元素 時(shí)。
希望這樣能幫你更好地理解這兩個(gè)方法的區(qū)別!
到此這篇關(guān)于JavaScript 數(shù)組的常用方法find 和 filter詳解及區(qū)別介紹的文章就介紹到這了,更多相關(guān)js find 和 filter 方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JS中filter( )數(shù)組過濾器的使用
- JavaScript遍歷數(shù)組的三種方法map、forEach與filter實(shí)例詳解
- JavaScript 數(shù)組some()和filter()的用法及區(qū)別
- JavaScript中find()、findIndex()、filter()、indexOf()處理數(shù)組方法的具體區(qū)別詳解
- js 數(shù)組 find,some,filter,reduce區(qū)別詳解
- JS中的常見數(shù)組遍歷案例詳解(forEach,?map,?filter,?sort,?reduce,?every)
- JavaScript數(shù)組常用方法find、findIndex、filter、map、flatMap及some詳解
- JavaScript數(shù)組方法push()、forEach()、filter()、sort()實(shí)戰(zhàn)教程
相關(guān)文章
javascript forEach通用循環(huán)遍歷方法
循環(huán)遍歷一個(gè)元素是開發(fā)中最常見的需求之一,那么讓我們來看一個(gè)由框架BASE2和Jquery的結(jié)合版本吧.2010-10-10
Markdown與Bootstrap相結(jié)合實(shí)現(xiàn)圖片自適應(yīng)屬性
Markdown 是一種輕量級(jí)的標(biāo)記語言,它的優(yōu)點(diǎn)很多,目前也被越來越多的寫作愛好者,撰稿者廣泛使用。接下來通過本文給大家介紹Markdown與Bootstrap相結(jié)合實(shí)現(xiàn)圖片自適應(yīng)屬性,感興趣的朋友一起學(xué)習(xí)吧2016-05-05
通過高德地圖API獲得某條道路上的所有坐標(biāo)用于描繪道路的方法
這篇文章主要介紹了通過高德地圖API獲得某條道路上的所有坐標(biāo)用于描繪道路的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Ext JS 實(shí)現(xiàn)建議詞模糊動(dòng)態(tài)搜索功能
這篇文章主要介紹了Ext JS 實(shí)現(xiàn)建議詞模糊動(dòng)態(tài)搜索功能,需要的朋友可以參考下2017-05-05
JavaScript使用IEEE 標(biāo)準(zhǔn)進(jìn)行二進(jìn)制浮點(diǎn)運(yùn)算產(chǎn)生莫名錯(cuò)誤的解決方法
javascript做帶小數(shù)的計(jì)算時(shí),會(huì)出現(xiàn)9的循環(huán),以下方法幫助解決。2011-05-05
javascript實(shí)現(xiàn)點(diǎn)擊圖片切換功能
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)點(diǎn)擊圖片切換功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
JS字符串false轉(zhuǎn)boolean的方法(推薦)
下面小編就為大家?guī)硪黄狫S字符串false轉(zhuǎn)boolean的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
微信小程序?qū)崿F(xiàn)指定顯示行數(shù)多余文字去掉用省略號(hào)代替
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)指定顯示行數(shù)多余文字去掉用省略號(hào)代替的方法,需要的朋友可以參考下2018-07-07

