📜  JavaScript数组findIndex()

📅  最后修改于: 2020-09-27 05:42:19             🧑  作者: Mango

JavaScript Array findIndex()方法返回满足提供的测试函数的第一个数组元素的索引,否则返回-1。

findIndex()方法的语法为:

arr.findIndex(callback(element, index, arr),thisArg)

在这里, arr是一个数组。


findIndex()参数

findIndex()方法采用:

  • callback-在数组的每个元素上执行的函数。它包含:
    • element-数组的当前元素。
  • thisArg (可选)-在callback内部用作this对象的对象。

从findIndex()返回值
  • 返回满足给定函数的数组中第一个元素索引
  • 如果没有元素满足该函数,则返回-1

示例1:使用findIndex()方法
function isEven(element) {
  return element % 2 == 0;
}

let randomArray = [1, 45, 8, 98, 7];

firstEven = randomArray.findIndex(isEven);
console.log(firstEven); // 2

// using arrow operator
firstOdd = randomArray.findIndex((element) => element % 2 == 1);
console.log(firstOdd); // 0

输出

2
0

示例2:带有Object元素的findIndex()
const team = [
  { name: "Bill", age: 10 },
  { name: "Linus", age: 15 },
  { name: "Alan", age: 20 },
  { name: "Steve", age: 34 },
];

function isAdult(member) {
  return member.age >= 18;
}

console.log(team.findIndex(isAdult)); // 2

// using arrow function and deconstructing
adultMember = team.findIndex(({ age }) => age >= 18);
console.log(adultMember); // 2

// returns -1 if none satisfy the function
infantMember = team.findIndex(({ age }) => age <= 1);
console.log(infantMember); // -1

输出

2
2
-1

推荐读物: JavaScript Array find()