JavaScript 數(shù)組的常用方法find 和 filter詳解及區(qū)別介紹
find 和 filter 都是 JavaScript 數(shù)組的常用方法,用來(lái)查找符合條件的元素,但它們有一些關(guān)鍵的區(qū)別:
1.find方法
- 返回值:
find方法返回?cái)?shù)組中 第一個(gè)符合條件的元素,如果沒有找到符合條件的元素,返回undefined。 - 用途:用于查找并返回第一個(gè)符合條件的元素。
- 結(jié)束早:一旦找到符合條件的元素,
find就會(huì)停止遍歷,并返回該元素。
語(yǔ)法:
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ù)組中的所有元素。
語(yǔ)法:
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)文章希望大家以后多多支持腳本之家!
- JavaScript數(shù)組常用方法find、findIndex、filter、map、flatMap及some詳解
- JavaScript中filter() 和find()的區(qū)別對(duì)比小結(jié)
- JavaScript中find()、findIndex()、filter()、indexOf()處理數(shù)組方法的具體區(qū)別詳解
- js的map、flatMap和find、filter的使用詳解
- JavaScript中find()和?filter()方法的區(qū)別小結(jié)
- js 數(shù)組 find,some,filter,reduce區(qū)別詳解
- 無(wú)循環(huán) JavaScript(map、reduce、filter和find)
相關(guān)文章
js location.replace與location.reload的區(qū)別
js location.replace與location.reload的區(qū)別,經(jīng)常能用的到,需要的朋友可以可以下。2010-09-09
注意 JavaScript 中 RegExp 對(duì)象的 test 方法
注意 JavaScript 中 RegExp 對(duì)象的 test 方法...2007-01-01
javascript對(duì)JSON數(shù)據(jù)排序的3個(gè)例子
這篇文章主要介紹了javascript對(duì)JSON數(shù)據(jù)排序的3個(gè)例子的相關(guān)資料2014-04-04
JavaScript CSS 通用循環(huán)滾動(dòng)條
核心是 position:relative;,才能讓其內(nèi)部的 ul 以絕對(duì)定位,通過(guò)改變 top 值實(shí)現(xiàn)向上移位置。2009-10-10
open 動(dòng)態(tài)修改img的onclick事件示例代碼
動(dòng)態(tài)修改img的onclick事件,使用open也可輕松做到,下面有個(gè)不錯(cuò)的示例,需要的朋友可以參考下2013-11-11
微信小程序?qū)崿F(xiàn)跟隨菜單效果和循環(huán)嵌套加載數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)跟隨菜單效果和循環(huán)嵌套加載數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
Javascript立即執(zhí)行函數(shù)(IIFE)實(shí)例詳解
IIFE全拼Imdiately?Invoked?Function?Expression,是一個(gè)在定義的時(shí)候就立即執(zhí)行的JavaScript函數(shù),這篇文章主要給大家介紹了關(guān)于Javascript立即執(zhí)行函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
bootstrap confirmation按鈕提示組件使用詳解
這篇文章主要為大家詳細(xì)介紹了bootstrap confirmation按鈕提示組件的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08

