一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - js教程 - JavaScript 中 find() 和 filter() 方法的區別

JavaScript 中 find() 和 filter() 方法的區別

2021-12-28 23:19鋒享前端 js教程

JavaScript 在 ES6 上有很多數組方法,每種方法都有獨特的用途和好處。

在開發應用程序時,大多使用數組方法來獲取特定的值列表并獲取單個或多個匹配項。

JavaScript 中 find() 和 filter() 方法的區別

在列出這兩種方法的區別之前,我們先來一一了解這些方法。

JavaScript find() 方法

ES6 find() 方法返回通過測試函數的第一個元素的值。如果沒有值滿足測試函數,則返回 undefined。

語法

以下語法中使用的箭頭函數。

  1. find((element) => { /* ... */ } ) 
  2. find((element, index) => { /* ... */ } ) 
  3. find((element, index, array) => { /* ... */ } ) 

我們有一個包含名稱 age 和 id 屬性的用戶對象列表,如下所示:

  1. let users = [{ 
  2.     id:1, 
  3.     name'John'
  4.     age: 22 
  5. }, { 
  6.     id:2, 
  7.     name'Tom'
  8.     age: 22 
  9. }, { 
  10.     id:3, 
  11.     name'Balaji'
  12.     age: 24 
  13. }]; 

以下代碼使用 find() 方法查找年齡大于 23 的第一個用戶。

  1. console.log(users.find(user => user.age > 23)); 
  2. //console 
  3. //{ id: 3, name'Balaji', age:24} 

現在我們要找到第一個年齡為 22 的用戶

  1. console.log(users.find(user => user.age === 22)); 
  2. //console 
  3. //{ id: 1, name'John', age:22} 

假設沒有找到匹配意味著它返回 undefined

  1. console.log(users.find(user => user.age === 25)); 
  2. //console 
  3. //undefined 

JavaScript filter() 方法

filter() 方法創建一個包含所有通過測試函數的元素的新數組。如果沒有元素滿足測試函數,則返回一個空數組。

語法

  1. filter((element) => { /* ... */ } ) 
  2. filter((element, index) => { /* ... */ } ) 
  3. filter((element, index, array) => { /* ... */ } ) 

我們將使用相同的用戶數組和測試函數作為過濾器示例。

以下代碼使用 filter() 方法查找年齡大于 23 的第一個用戶。

  1. console.log(users.filter(user => user.age > 23)); 
  2. //console 
  3. 現在我們要過濾年齡為 22 歲的用戶//[{ id: 3, name'Balaji', age:24}] 

現在我們要過濾年齡為 22 歲的用戶

  1. console.log(users.filter(user => user.age === 22)); 
  2. //console 
  3. //[{ id: 1, name'John', age:22},{ id: 2, name'Tom', age:22}] 

假設沒有找到匹配意味著它返回一個空數組

  1. console.log(users.filter(user => user.age === 25)); 
  2. //console 
  3. //[] 

find() 和 filter() 的區別與共點

共點

高階函數:這兩個函數都是高階函數。

區別

1、通過一個測試功能

find() 返回第一個元素。

filter() 返回一個包含所有通過測試函數的元素的新數組。

2、如果沒有值滿足測試函數

find() 返回未定義;

filter() 返回一個空數組;

原文鏈接:https://www.toutiao.com/a7046592218571850243/

延伸 · 閱讀

精彩推薦
  • js教程微信小程序自定義膠囊樣式

    微信小程序自定義膠囊樣式

    這篇文章主要為大家詳細介紹了微信小程序自定義膠囊樣式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    四曦11332021-12-21
  • js教程JavaScript實現瀑布流布局的3種方式

    JavaScript實現瀑布流布局的3種方式

    這篇文章主要為大家詳細介紹了JavaScript實現瀑布流布局的3種方式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    杏子_10247272021-12-20
  • js教程微信小程序實現購物車小功能

    微信小程序實現購物車小功能

    這篇文章主要為大家詳細介紹了微信小程序實現購物車小功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    小王同學Max5412021-12-22
  • js教程JavaScript 中的六種循環方法

    JavaScript 中的六種循環方法

    這篇文章主要介紹了JavaScript 中的六種循環方法,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下...

    Saku8442021-12-27
  • js教程ES5和ES6中類的區別總結

    ES5和ES6中類的區別總結

    這篇文章主要給大家介紹了ES5和ES6中類的區別的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋...

    Totora612122021-12-16
  • js教程基于javascript實現移動端輪播圖效果

    基于javascript實現移動端輪播圖效果

    這篇文章主要為大家詳細介紹了基于javascript實現移動端輪播圖效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    A.香辣雞腿堡8982021-12-15
  • js教程微信小程序自定義modal彈窗組件的方法詳解

    微信小程序自定義modal彈窗組件的方法詳解

    這篇文章主要給大家介紹了關于微信小程序自定義modal彈窗組件的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學...

    遇見小美好12042021-12-15
  • js教程微信小程序彈窗禁止頁面滾動的實現代碼

    微信小程序彈窗禁止頁面滾動的實現代碼

    這篇文章主要介紹了微信小程序彈窗禁止頁面滾動的實現代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需...

    任我行RQ5442021-12-23
主站蜘蛛池模板: 亚洲精彩视频在线观看 | 青青草影院在线观看 | 九九99热久久精品在线6 | 91麻豆影视 | eeuss免费快捷 | 我的年轻漂亮继坶三级 | 四虎成人国产精品视频 | 日韩丝袜在线观看 | 日韩欧美一区二区不卡 | 国产亚洲一区二区三区 | 欧美综合亚洲图片综合区 | 九九久久国产精品免费热6 九九精品视频一区二区三区 | 天天色影视综合网 | 国产精品视频视频久久 | 日本久久免费大片 | 国产资源视频在线观看 | 国产成人精品高清在线 | 欧美草逼网站 | 欧美高清国产 | 边摸边吃奶又黄激烈视频韩国 | 调教女秘书 | 99精品免费在线 | ass极品美妇pic | 99精品国产成人一区二区 | 亚洲va久久久噜噜噜久久狠狠 | 男人捅女人的鸡鸡 | 久久精品99国产精品日本 | 青青青视频免费观看 | 四虎国产成人亚洲精品 | 国内在线观看 | 亚洲第一永久色 | 日韩欧美一区二区不卡 | 6080伦理久久精品亚洲 | 99精品全国免费7观看视频 | 天堂资源在线www中文 | 好湿好紧太硬了我太爽了网站 | 欧美日韩1区2区 | 古代翁熄系小说辣文 | 日日插插 | 天天综合天天综合 | 性奶老妇 视频 |