一、概述
在JavaScript中,数组是最常用的数据结构之一,同时也是内置方法最多的一个对象。其中之一的findLastIndex方法,可以查询数组中最后一个符合条件的元素的下标。这个方法主要用于数组的检索操作,可以帮助开发者快速找到符合条件的元素,提高开发效率。
二、方法参数
findLastIndex方法有两个参数:回调函数和this值。
array.findLastIndex(callback[, thisArg])
其中,callback是一个必选参数,表示回调函数,它是用来测试每个元素是否符合条件的函数。回调函数可以接受三个参数:数组元素、元素索引和被搜索的数组本身。如果回调函数返回true,则findLastIndex方法返回当前元素的索引值;如果没有满足条件的元素,则返回-1。
thisArg是一个可选参数,表示回调函数执行时的this值。
三、案例演示
示例1:
查找数组中最后一个大于10的元素的下标:
let arr = [3, 6, 9, 12, 15]; let index = arr.findLastIndex((elem) => elem > 10); console.log(index); // 4
上面的代码中,回调函数(elem) => elem > 10表示查找数组中大于10的元素。findLastIndex方法从数组的最后一个元素开始向前遍历,当遍历到12的时候,回调函数返回true,则返回值为4。
示例2:
查找数组中最后一个符合条件的元素的下标:
let arr = [{name: "Lucy", age: 18}, {name: "Tom", age: 25}, {name: "Jack", age: 30}]; let index = arr.findLastIndex((elem) => elem.age > 20); console.log(index); // 2
上面的代码中,回调函数(elem) => elem.age > 20表示查找数组中age大于20的元素。findLastIndex方法从数组的最后一个元素开始向前遍历,当遍历到Tom的时候,回调函数返回true,则返回值为2。
四、注意事项
在使用findLastIndex方法时,需要注意以下几点:
- findLastIndex方法返回的是符合条件的最后一个元素的下标,因此如果要查找符合条件的第一个元素,应该使用findIndex方法。
- 回调函数中的this值可以通过thisArg参数来指定,如果没有指定则为全局对象。在回调函数内部,可以使用this关键字来调用对象的方法或属性。
- 回调函数可以返回任何有效的JavaScript表达式,包括true、false、null、字符串、数字、对象等。如果回调函数返回false,则继续查找后面的元素,直到找到符合条件的元素或者数组被遍历完。