📜  在 js 返回索引中查找 NaN - Javascript (1)

📅  最后修改于: 2023-12-03 15:07:41.624000             🧑  作者: Mango

在 JS 返回索引中查找 NaN - Javascript

在 Javascript 中,NaN 是一种特殊的数字类型,它表示不是数字的值(Not a Number)。在一些情况下,我们需要在数组中查找 NaN,并返回它的索引。下面我们将介绍几种方法来实现这个目的。

方法一:使用 findIndex 方法
let arr = [1, 2, NaN, 3, 4];

let index = arr.findIndex(Number.isNaN);

console.log(index); // 2

在上面的代码中,我们使用了数组的 findIndex 方法,该方法接收一个函数作为参数。函数返回值为 true 时,该方法返回当前索引。我们使用了 Number.isNaN 函数作为参数来判断是否为 NaN。因为在 JavaScript 中,NaN 是不等于任何值的,包括它本身。所以 Number.isNaN(NaN) 返回值为 true。

方法二:使用 indexOf 方法
let arr = [1, 2, NaN, 3, 4];

let index = arr.indexOf(NaN);

console.log(index); // -1

如果我们直接在数组中使用 indexOf 方法来查找 NaN,则返回值为 -1。因为在 JavaScript 中,indexOf 方法使用的是 === 运算符来比较,而 NaN 不等于任何值,包括它本身。所以需要使用方法一来进行查找。

方法三:使用循环
let arr = [1, 2, NaN, 3, 4];

let index = -1;

for (let i = 0; i < arr.length; i++) {
  if (Number.isNaN(arr[i])) {
    index = i;
    break;
  }
}

console.log(index); // 2

在上面的代码中,我们使用了一个循环来遍历数组中的每个元素,并使用 Number.isNaN 函数来判断是否为 NaN。如果当前元素是 NaN,我们就将索引赋值给 index 变量,并使用 break 语句来退出循环。否则,继续循环直到找到 NaN。

以上是三种在 JavaScript 中查找 NaN 并返回索引的方法。您可以根据自己的需求选择其中一种。