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
}