欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript常用數(shù)組元素搜索或過濾的四種方法詳解

 更新時間:2022年08月31日 16:40:19   作者:JackieDYH  
這篇文章主要介紹了JavaScript常用數(shù)組元素搜索或過濾的四種方法,每種方式通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
  1. 獲取滿足特定條件的數(shù)組中的所有項目
  2. 要檢查是否滿足條件?
  3. 檢查數(shù)組中是否有特定值?
  4. 在數(shù)組中找到指定值的索引?

filter   find  includes   indexOf

Array.filter()

在數(shù)組中查找滿足特定條件的元素

let newArray = array.filter(callback);

  • newArray是返回的新數(shù)組
  • array 是我們要進行查找的數(shù)組本身
  • callback 是應(yīng)用于數(shù)組每個元素的回調(diào)函數(shù)

如果數(shù)組中沒有項目符合條件,則返回一個空數(shù)組。

例如,如果我們要獲取大于10的數(shù)字數(shù)組中的所有項目,則可以執(zhí)行以下操作:
const array = [10, 11, 3, 20, 5];
const greaterThanTen = array.filter(element => element > 10);
console.log(greaterThanTen) //[11, 20]

Array.find()

查找滿足特定條件的第一個元素

let element = array.find(callback);

  • element -當前被遍歷的元素(必填)
  • index -當前遍歷的元素的索引/位置(可選)
  • array- 當前數(shù)組(可選)

但是請注意,如果數(shù)組中沒有項目符合條件,則返回 undefined。

const array = [10, 11, 3, 20, 5];
const greaterThanTen = array.find(element => element > 10);
console.log(greaterThanTen)//11

Array.includes()

確定數(shù)組是否包含某個值,并在適當時返回 true 或 false

const includesValue = array.includes(valueToFind, fromIndex)

  • valueToFind 是要在數(shù)組中檢查的值(必填)
  • fromIndex 是要開始從中搜索元素的數(shù)組中的索引或位置(可選)
檢查20是否為數(shù)組中的元素之一,則可以執(zhí)行以下操作:
const array = [10, 11, 3, 20, 5];
const includesTwenty = array.includes(20);
console.log(includesTwenty)//true
如果要檢查數(shù)組是否在第一個元素之外的其他位置包含10個,可以執(zhí)行如下操作:
const array = [10, 11, 3, 20, 5];
const includesTenTwice = array.includes(10, 1);
console.log(includesTenTwice)//false

Array.indexOf()

返回可以在數(shù)組中找到給定元素的第一個索引。如果數(shù)組中不存在該元素,則返回 -1

const indexOfElement = array.indexOf(element, fromIndex)

  • element 是要在數(shù)組中檢查的元素(必填),并且
  • fromIndex 是要從數(shù)組中搜索元素的啟始索引或位置(可選)

請務(wù)必注意,includes 和 indexOf 方法都使用嚴格的相等性('===')搜索數(shù)組。如果值的類型不同(例如4和'4'),它們將分別返回 false 和 -1

讓我們找到數(shù)組中 3 的索引。
const array = [10, 11, 3, 20, 5];
const indexOfThree = array.indexOf(3);
console.log(indexOfThree)//2

結(jié)語

無需使用 for 循環(huán)即可搜索數(shù)組

  • 如果你想找到在符合特定條件的陣列中的所有項目,使用 filter。
  • 如果你想檢查是否至少有一個項目符合特定的條件,請使用 find。
  • 如果你想檢查一個數(shù)組包含一個特定的值,請使用 includes。
  • 如果要在數(shù)組中查找特定項目的索引,請使用indexOf 

到此這篇關(guān)于JavaScript常用數(shù)組元素搜索或過濾的四種方法的文章就介紹到這了,更多相關(guān)js搜索數(shù)組元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于javascript 顯式轉(zhuǎn)換與隱式轉(zhuǎn)換(詳解)

    基于javascript 顯式轉(zhuǎn)換與隱式轉(zhuǎn)換(詳解)

    下面小編就為大家分享一篇基于javascript 顯式轉(zhuǎn)換與隱式轉(zhuǎn)換(詳解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • openlayers4實現(xiàn)點動態(tài)擴散

    openlayers4實現(xiàn)點動態(tài)擴散

    這篇文章主要為大家詳細介紹了openlayers4實現(xiàn)的點動態(tài)擴散,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • JS實現(xiàn)網(wǎng)頁上隨滾動條滾動的層效果代碼

    JS實現(xiàn)網(wǎng)頁上隨滾動條滾動的層效果代碼

    這篇文章主要介紹了JS實現(xiàn)網(wǎng)頁上隨滾動條滾動的層效果代碼,涉及JavaScript頁面元素屬性的獲取、運算及設(shè)置等操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • 淺談javascript中call()、apply()、bind()的用法

    淺談javascript中call()、apply()、bind()的用法

    一直對Javascript中的apply/call/bind的用法很模糊,恰好看到了這篇文章。對三者之間的區(qū)別與聯(lián)系算是有了比較清晰的認識。這里記錄下來,分享給大家。
    2015-04-04
  • JavaScript調(diào)試之console.log調(diào)試的一個小技巧分享

    JavaScript調(diào)試之console.log調(diào)試的一個小技巧分享

    日常開發(fā)中經(jīng)常會需要console來查看當前對象的值。當然用debugger會更全面的查看,但是總有只喜歡用console的,比如我。下面這篇文章主要給大家分享了關(guān)于JavaScript調(diào)試之console.log調(diào)試的一個小技巧,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • js中常見的6種繼承方式總結(jié)

    js中常見的6種繼承方式總結(jié)

    js中的繼承與其說是對象的繼承,但更像是讓函數(shù)的功能和用法的復(fù)用,下面這篇文章主要給大家介紹了關(guān)于js中常見的6種繼承方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • JS使用canvas繪制旋轉(zhuǎn)風車動畫

    JS使用canvas繪制旋轉(zhuǎn)風車動畫

    這篇文章主要為大家詳細介紹了JS使用canvas繪制旋轉(zhuǎn)風車動畫,有加速減速啟動停止功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • ES6中Set和Map數(shù)據(jù)結(jié)構(gòu)的簡單講解

    ES6中Set和Map數(shù)據(jù)結(jié)構(gòu)的簡單講解

    大家心里是否產(chǎn)生過這樣的疑問,JS中既然已經(jīng)有對象這種數(shù)據(jù)結(jié)構(gòu),我們?yōu)槭裁催€要再單獨去使用Set或者Map呢?下面這篇文章主要給大家介紹了關(guān)于ES6中Set和Map數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 淺談JS之tagNaem和nodeName

    淺談JS之tagNaem和nodeName

    下面小編就為大家?guī)硪黄獪\談JS之tagNaem和nodeName。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • 使用weixin-java-tools完成微信授權(quán)登錄、微信支付的示例

    使用weixin-java-tools完成微信授權(quán)登錄、微信支付的示例

    這篇文章主要介紹了使用weixin-java-tools完成微信授權(quán)登錄、微信支付的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09

最新評論