ES6中Array.find()和findIndex()函數(shù)的用法詳解
ES6為Array增加了find(),findIndex函數(shù)。
find()函數(shù)用來(lái)查找目標(biāo)元素,找到就返回該元素,找不到返回undefined。
findIndex()函數(shù)也是查找目標(biāo)元素,找到就返回元素的位置,找不到就返回-1。
他們的都是一個(gè)查找回調(diào)函數(shù)。
[1, 2, 3, 4].find((value, index, arr) => { })
查找函數(shù)有三個(gè)參數(shù)。
value:每一次迭代查找的數(shù)組元素。
index:每一次迭代查找的數(shù)組元素索引。
arr:被查找的數(shù)組。
例:
1.查找元素,返回找到的值,找不到返回undefined。
const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] var ret1 = arr1.find((value, index, arr) => { return value > 4 }) var ret2 = arr1.find((value, index, arr) => { return value > 14 }) console.log('%s', ret1) console.log('%s', ret2)
結(jié)果:
undefined
2.查找元素,返回找到的index,找不到返回-1。
var ret3 = arr1.findIndex((value, index, arr) => { return value > 4 }) var ret4 = arr1.findIndex((value, index, arr) => { return value > 14 }) console.log('%s', ret3) console.log('%s', ret4)
結(jié)果:
4
-1
3.查找NaN。
const arr2 = [1, 2, NaN, 4, 5, 6, 7, 8, 9, 10, 11] var ret5 = arr2.find((value, index, arr) => { return Object.is(NaN, value) }) var ret6 = arr2.findIndex((value, index, arr) => { return Object.is(NaN, value) }) console.log('%s', ret5) console.log('%s', ret6)
結(jié)果:
NaN
2
總結(jié)
以上所述是小編給大家介紹的ES6中Array.find()和findIndex()函數(shù)的用法詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
Layui 解決表格異步調(diào)用后臺(tái)分頁(yè)的問(wèn)題
今天小編就為大家分享一篇Layui 解決表格異步調(diào)用后臺(tái)分頁(yè)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10es6數(shù)組之?dāng)U展運(yùn)算符操作實(shí)例分析
這篇文章主要介紹了es6數(shù)組之?dāng)U展運(yùn)算符操作,結(jié)合實(shí)例形式總結(jié)分析es6數(shù)組擴(kuò)展運(yùn)算符具體原理、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04JavaScript利用生成器函數(shù)實(shí)現(xiàn)優(yōu)雅處理異步任務(wù)流
Generators?是?JavaScript?中的一種特殊函數(shù),它們可以暫停執(zhí)行并根據(jù)需要生成多個(gè)值,本文將詳細(xì)介紹?generators?的作用、用法以及與其他語(yǔ)言特性的配合使用,希望對(duì)大家有所幫助2023-07-07微信小程序之ES6與事項(xiàng)助手的功能實(shí)現(xiàn)
本篇文章主要介紹了微信小程序之ES6與事項(xiàng)助手的功能實(shí)現(xiàn),具有一定的參考價(jià)值,有興趣的同學(xué)可以了解一下。2016-11-115個(gè)你不知道的JavaScript字符串處理庫(kù)(小結(jié))
這篇文章主要介紹了5個(gè)你不知道的JavaScript字符串處理庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06理解javascript中的Function.prototype.bind的方法
這篇文章主要介紹了理解javascript中的Function.prototype.bind的方法,具有一定參考價(jià)值,有興趣的可以了解一下。2017-02-02layui 彈出層回調(diào)獲取彈出層數(shù)據(jù)的例子
今天小編就為大家分享一篇layui 彈出層回調(diào)獲取彈出層數(shù)據(jù)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09