首页 理论教育JavaScript数组元素查找方法总结

JavaScript数组元素查找方法总结

【摘要】:查找元素在数组中的位置,有三种方式:◇ 从前往后查找。图9.4.5indexOf查找元素值是否存在于数组中2.lastIndexOflastIndexOf()的查找标准和indexOf()的一样,不过前者是从后往前查找。find()函数从前往后依次使用数组元素调用callback回调,直到callback返回true时停止调用。动手写9.4.7执行9.4.7.html,输出结果到网页,如下图所示。图9.4.7find按条件查找元素数组还提供了一个与find()类似的findIndex()函数。

查找元素在数组中的位置,有三种方式:

◇ 从前往后查找。数组的indexOf(value)从0开始向后查找value在数组中的位置,如果存在,返回value对应的索引,如果不存在,返回-1。

◇ 从后往前查找。数组的lastIndexOf(value)从数组最后一个元素开始向前查找value在数组中的位置,如果存在,返回value对应的索引,如果不存在,返回-1。

◇ 按条件查找数组元素。数组的find(callback)从前往后依次调用callback()函数,当callback()函数返回true时,find()函数返回该元素,没有找到满足条件的元素时,返回undefined。

1.indexOf(value)

使用indexOf()函数查找元素按照以下规则:

◇ 如果value存在于数组中,返回与value全等的元素的索引。

◇ 索引从0开始,如果存在,返回-1。

◇ indexOf(value)使用全等(===)进行比较。

9.4.5.html使用indexOf(value)函数从前往后查找value在数组中的位置,如下所示。

动手写9.4.5

执行9.4.5.html,输出结果到网页,如下图所示。

图9.4.5 indexOf(value)查找元素值是否存在于数组中

2.lastIndexOf(value)

lastIndexOf()的查找标准和indexOf()的一样,不过前者是从后往前查找。

9.4.6.html使用lastIndexOf(value) 从后往前查找value在数组中的位置,如下所示。

动手写9.4.6

执行9.4.6.html,输出结果到网页,如下图所示。

(www.chuimin.cn)

图9.4.6 lastIndexOf(value)查找元素值是否存在于数组中

indexOf()和lastIndexOf()是根据值查找,find(callback)和findIndex(callback)支持按照条件查找。

提示

使用indexOf(value)和lastIndexOf(value)查找数组元素时,按照全等(===)比较数组元素与value。

3.find(callback)

find()函数接收callback参数,callback参数是一个回调函数。find()函数从前往后依次使用数组元素调用callback回调,直到callback返回true时停止调用。callback()接收三个参数,格式如下:

callback()参数说明如下:

◇ element:数组元素。

◇ elementIndex:数组元素对应的索引。

◇ array:数组本身。

可以将callback回调当作数组元素的测试函数,如果callback返回true,表示该元素通过测试,此时find()函数停止调用callback并返回该元素;如果所有元素调用callback,都没有返回true,也就意味着没有元素通过测试,find()函数返回undefined。

9.4.7.html使用find()函数查找元素索引为基数的元素,如下所示。

动手写9.4.7

执行9.4.7.html,输出结果到网页,如下图所示。

图9.4.7 find(callback)按条件查找元素

数组还提供了一个与find()类似的findIndex()函数。不同的是,某个元素调用callback通过测试时,findIndex()返回该元素的索引,如果所有元素都没有通过测试,findIndex()返回-1。