js中find、findIndex、indexOf的用法和區別
find方法是ES6引入的一種數組方法,可以用來查找數組中符合條件的元素。
語法是:
array.find(callback(element[, index[, array]])[, thisArg])callback是一個函數,用來測試每個元素是否符合條件。callback函數接收三個參數,分別是當前遍歷的元素、元素的索引、原數組本身。當找到符合條件的元素時,find方法會返回該元素的值。如果沒有找到符合條件的元素,則返回undefined。
例如:使用find方法查找數組中第一個>6的元素
const numbers = [1, 3, 5, 7, 9];const result = numbers.find(element => element > 6);console.log(result); // 7在callback函數中,我們使用箭頭函數語法,檢查每個元素是否>6,因為7是第一個>6的元素,索引find方法返回7作為結果。
二、findIndex方法findIndex方法也可用來查找數組中符合條件的元素,返回符合條件的元素在數組中的索引。
語法:
array.findIndex(callback(element[, index[, array]])[, thisArg])當找到符合條件的元素時,findIndex方法會返回該元素在數組中的索引。如果沒有找到符合條件的元素,則返回-1。
例如:使用findIndex方法查找數組中第一個>6的元素的索引
const numbers = [1, 3, 5, 7, 9];const result = numbers.findIndex(element => element > 6);console.log(result); // 3因為7是第一個>6的元素,他的索引是3,所以findIndex方法返回3作為結果。
三、indexof方法indexof方法,可以用來查找數組中指定元素的位置。
語法:array.indexOf(searchElement[, fromIndex])
searchElement是要查找的元素,fromIndex是可選參數,表示從哪個索引開始查找。當找到指定元素時,indexof方法會返回該元素所在數組中的索引,如果沒有找到則返回-1。
例如:使用indexof方法查找數組中7的索引
const numbers = [1, 3, 5, 7, 9];const result = numbers.indexOf(7);console.log(result); // 3因為7的索引是3,所以indexof方法返回3作為結果。
四、三者區別:1、返回結果不同。find方法返回符合條件的元素的值,findIndex方法返回符合條件的元素在數組中的索引,而indexof方法返回指定元素在數組中的索引。
2、參數不同。find和findIndex方法都需要傳入一個回調函數作為參數,該函數用來測試每個元素是否符合條件。而indexof方法則直接傳入要查找的元素作為參數。
五、實際使用在實際開發中,如果我們要查找符合條件的元素的值,可以使用find方法,如果需要查找符合條件的元素在數組中的索引,可以使用findIndex方法,如果只需要查找指定元素在數組中的索引,可以使用indexof方法。
到此這篇關于js中find、findIndex、indexOf的用法和區別的文章就介紹到這了,更多相關js find findIndex indexOf內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!