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();