📅  最后修改于: 2023-12-03 15:07:41.624000             🧑  作者: Mango
在 Javascript 中,NaN 是一种特殊的数字类型,它表示不是数字的值(Not a Number)。在一些情况下,我们需要在数组中查找 NaN,并返回它的索引。下面我们将介绍几种方法来实现这个目的。
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。
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 并返回索引的方法。您可以根据自己的需求选择其中一种。