js中find、findIndex、indexOf的用法和區(qū)別
一、find方法
find方法是ES6引入的一種數(shù)組方法,可以用來查找數(shù)組中符合條件的元素。
語法是:
array.find(callback(element[, index[, array]])[, thisArg])
callback是一個函數(shù),用來測試每個元素是否符合條件。callback函數(shù)接收三個參數(shù),分別是當(dāng)前遍歷的元素、元素的索引、原數(shù)組本身。當(dāng)找到符合條件的元素時,find方法會返回該元素的值。如果沒有找到符合條件的元素,則返回undefined。
例如:使用find方法查找數(shù)組中第一個>6的元素
const numbers = [1, 3, 5, 7, 9]; const result = numbers.find(element => element > 6); console.log(result); // 7
在callback函數(shù)中,我們使用箭頭函數(shù)語法,檢查每個元素是否>6,因?yàn)?是第一個>6的元素,索引find方法返回7作為結(jié)果。
二、findIndex方法
findIndex方法也可用來查找數(shù)組中符合條件的元素,返回符合條件的元素在數(shù)組中的索引。
語法:
array.findIndex(callback(element[, index[, array]])[, thisArg])
當(dāng)找到符合條件的元素時,findIndex方法會返回該元素在數(shù)組中的索引。如果沒有找到符合條件的元素,則返回-1。
例如:使用findIndex方法查找數(shù)組中第一個>6的元素的索引
const numbers = [1, 3, 5, 7, 9]; const result = numbers.findIndex(element => element > 6); console.log(result); // 3
因?yàn)?是第一個>6的元素,他的索引是3,所以findIndex方法返回3作為結(jié)果。
三、indexof方法
indexof方法,可以用來查找數(shù)組中指定元素的位置。
語法:array.indexOf(searchElement[, fromIndex])
searchElement是要查找的元素,fromIndex是可選參數(shù),表示從哪個索引開始查找。當(dāng)找到指定元素時,indexof方法會返回該元素所在數(shù)組中的索引,如果沒有找到則返回-1。
例如:使用indexof方法查找數(shù)組中7的索引
const numbers = [1, 3, 5, 7, 9]; const result = numbers.indexOf(7); console.log(result); // 3
因?yàn)?的索引是3,所以indexof方法返回3作為結(jié)果。
四、三者區(qū)別:
1、返回結(jié)果不同。find方法返回符合條件的元素的值,findIndex方法返回符合條件的元素在數(shù)組中的索引,而indexof方法返回指定元素在數(shù)組中的索引。
2、參數(shù)不同。find和findIndex方法都需要傳入一個回調(diào)函數(shù)作為參數(shù),該函數(shù)用來測試每個元素是否符合條件。而indexof方法則直接傳入要查找的元素作為參數(shù)。
五、實(shí)際使用
在實(shí)際開發(fā)中,如果我們要查找符合條件的元素的值,可以使用find方法,如果需要查找符合條件的元素在數(shù)組中的索引,可以使用findIndex方法,如果只需要查找指定元素在數(shù)組中的索引,可以使用indexof方法。
到此這篇關(guān)于js中find、findIndex、indexOf的用法和區(qū)別的文章就介紹到這了,更多相關(guān)js find findIndex indexOf內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
el-popover放在el-table中點(diǎn)擊無反應(yīng)問題解決方案
我們想在table中給btn加彈框但是?el-popover點(diǎn)擊按鈕沒有任何反應(yīng),解決思路是通過給每個el-popover都加上單獨(dú)的id,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-04-04
JavaScript中校驗(yàn)銀行卡號的實(shí)現(xiàn)代碼
本文通過案例給大家介紹了js中校驗(yàn)銀行卡號的代碼,代碼小編測試過,可行。代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2016-12-12
bootstrap datepicker插件默認(rèn)英文修改為中文
這篇文章主要為大家詳細(xì)介紹了bootstrap datepicker插件默認(rèn)英文修改為中文的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
JS動態(tài)修改網(wǎng)頁body的背景色實(shí)例代碼
這篇文章主要介紹了JS動態(tài)修改網(wǎng)頁body的背景色實(shí)例代碼 ,需要的朋友可以參考下2017-10-10
JS使用Expires?max-age判斷緩存過期的瀏覽器實(shí)例
這篇文章主要為大家介紹了JS使用Expires?max-age判斷緩存過期的瀏覽器實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11

