JavaScript含NaN数组去重的问题

用isNan()实现了一次,后来想尝试别的办法出现问题,求回复!
第一种想先判断别的数值用try catch()做但是只通过四分之三用例

img

第二种想用恒等判断数组中元素是否有NaN,是不可以这样判断咩?也是四分之三用例

img

求各位告知!

如果还是需要放到Array的prototype上的话可以用

Array.prototype.removeNaN=function(){return this.filter(v=> {if(v.toString()!=='NaN') {return v}});}


[1,2,NaN,3,NaN,4,5,6].removeNaN(); //输出 [ 1, 2, 3, 4, 5, 6 ]


不用这么麻烦吧?

let test_array = [1,2,NaN,3,NaN,4,5,6];
function removeNaN(array){
  return array.filter(v=> {if(v.toString()!=='NaN') {return v}});
}

console.log(removeNaN(test_array)); //输出 [ 1, 2, 3, 4, 5, 6 ]

Array 的一些去重,判重的方法可以参考