[false, true, undefined, null, NaN, 0, 1, {}, {}, ‘a‘, ‘a‘, NaN]
[false, true, undefined, null, NaN, 0, 1, {}, {}, ‘a‘]
Array.prototype.uniq = function () {
let res = []
let hasNaN = false
this.forEach(e => { // 循环数组
if(res.indexOf(e) === -1) { // res中没有就添加
if(e !== e) { // 判断是否为NAN,因为精度的原因,NaN === NaN返回false
if(!hasNaN) {
res.push(e)
hasNaN = true
}
} else {
res.push(e)
}
}
})
return res
}
原文:https://www.cnblogs.com/banyouxia/p/13664752.html