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

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

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

3 に答える 3

12

NaN は、何とも等しくないように定義されています (それ自体でさえありません)。ここを参照してください: http://www.w3schools.com/jsref/jsref_isNaN.asp

于 2011-03-14T03:26:11.740 に答える
2

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;
}
于 2011-03-14T03:57:04.140 に答える