您的位置:

JavaScript数组方法之findLastIndex——查询数组中最后一个符合条件元素的下标

一、概述

在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,则继续查找后面的元素,直到找到符合条件的元素或者数组被遍历完。