📜  javascript findindex - Javascript (1)

📅  最后修改于: 2023-12-03 14:42:24.728000             🧑  作者: Mango

JavaScript FindIndex

在 JavaScript 中,findIndex() 是一个方法,用于查找数组中满足条件的第一个元素的索引。它接受一个回调函数作为参数,该函数接受每个元素作为参数,并返回一个布尔值。

语法
array.findIndex(callback(element[, index[, array]])[, thisArg])
  • callback:每个元素都会调用这个回调函数,它接受以下参数:
    • element:当前元素。
    • index(可选):当前元素在数组中的索引。
    • array(可选):调用 findIndex() 的数组。
  • thisArg(可选):在 callback 中使用的 this 值。
返回值

findIndex() 返回第一个满足条件的元素的索引。如果没有找到满足条件的元素则返回 -1。

示例

以下是一个简单的示例,演示如何使用 findIndex() 在数组中查找一个大于 10 的元素的索引:

const array = [5, 12, 8, 130, 44];

const foundIndex = array.findIndex(element => element > 10);

console.log(foundIndex); // Output: 1

另一个示例,演示如何将 findIndex()thisArg 一起使用来在对象数组中查找具有特定属性值的元素的索引:

const fruits = [
  {name: 'apple', quantity: 2},
  {name: 'banana', quantity: 0},
  {name: 'cherries', quantity: 5}
];

const foundIndex = fruits.findIndex(function(fruit) {
  return fruit.name === 'banana';
}, this);

console.log(foundIndex); // Output: 1
注意事项
  • 在使用 findIndex() 时,callback 函数中的 this 值默认为 undefined。如果要在回调函数中使用 this 值,可以传递 thisArg 参数。
  • callback 函数内部无法修改原始数组,但可以修改在回调函数内部传递的元素。
  • findIndex() 是 ECMAScript 6 中新增的方法,在旧版的 JavaScript 中可能不被支持。如果要在旧版的 JavaScript 中使用,可以考虑使用其他方法或使用 polyfill。