在javascript数组中查找NaN的索引

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在javascript数组中查找NaN的索引相关的知识,希望对你有一定的参考价值。

[1, 2, 3].indexOf(3) => 2

[1, 2, NaN].indexOf(NaN) => -1

[1, NaN, 3].indexOf(NaN) => -1
答案

您可以使用Array.prototype.findIndex方法找出数组中NaN的索引

let index = [1,3,4,'hello',NaN,3].findIndex(Number.isNaN)
console.log(index)
另一答案

NaN被定义为不等于任何东西(甚至不是自己)。见这里:http://www.w3schools.com/jsref/jsref_isNaN.asp

另一答案

您必须查看每个项目以返回NaN值的索引数组 -

function findNaNs(arr){
    return arr.map(function(itm, i){
        if(isNaN(itm)) return i;
        return false;
    }).filter(function(itm){
        return itm;
    });
}

findNaNs([1,NaN,3,4,'cat'/ 3])

//或找到第一个 -

function firstNaN(arr){
    var i= 0, L= arr.length;
    while(i<L){
        if(isNaN(arr[i])) return i;
        ++i;
    }
    return -1;
}

以上是关于在javascript数组中查找NaN的索引的主要内容,如果未能解决你的问题,请参考以下文章

在javascript中的数组中查找多个最小值的索引

javascript 如何在javascript数组中按键和值查找对象的索引

如何获取numpy数组中所有NaN值的索引列表?

查找具有 NaN 值的 DataFrame 列表的索引 - Pandas

Python range 数据类型 [学习 Python 必备基础知识][看此一篇就够了][range()][range 元素元素检测元素索引查找切片负索引][检测 range 对象是否相等](代码片

Python range 数据类型 [学习 Python 必备基础知识][看此一篇就够了][range()][range 元素元素检测元素索引查找切片负索引][检测 range 对象是否相等](代码片