js删除数组中的'NaN'

js中的NaN不和任何值相等,包括自身。

所以可以使用x!=x来判断x是否是NaN,当且仅当x为NaN时,表达式的结果为true。

NaN != NaN    //true

 可以依此删除数组中的'NaN'。

Array.prototype.delNaN = function () {
    var arr = [];
    for (var i = 0; i < this.length; i++) {
        if (this[i] === this[i]) {
            arr.push(this[i]);
        }
    }
    return arr;
}

var arr = [1, 2, 3, 4, 5, NaN, 6, 'zz'];
arr.delNaN();

 

posted @ 2016-08-29 17:02  my2zzh  阅读(1837)  评论(0编辑  收藏  举报