题解 | #数组去重#
Set数据结构是ES6的新结构,向 Set 加入值的时候,不会发生类型转换,所以5和"5"是两个不同的值。Set 内部判断两个值是否不同,使用的算法叫做“Same-value-zero equality”,它类似于精确相等运算符(===),主要的区别是向 Set 加入值时认为NaN等于自身,而精确相等运算符认为NaN不等于自身。另外,两个对象总是不相等的。{}和{}不等
Array.from方法可以将 Set 结构转为数组。
Array.prototype.uniq = function () { return Array.from(new Set(this)) }