isNaN()方法判断NaN还需要判断类型是number,并且多个NAN的情况下去重其他NaN,用了加锁的方式
1.如果是第一次出现的NaN 加入数组
2.如果不是第一次出现的NaN 跳过该项
3.如果不是NaN 看看结果数组里是否有 如果没有就加入 完成去重
Array.prototype.uniq = function () {
let res = [];
let NaNToggle = true;
for (let i = 0, len = this.length; i < len; i++) {
if (isNaN(this[i]) && typeof this[i] === "number") {
if (NaNToggle) {
res.push(this[i])
NaNToggle = false
} else {
continue;
}
} else if (res.indexOf(this[i]) === -1) {
res.push(this[i])
}
}
return res
}