实现数组去重最好的办法
Set是一种新的数据结构,它可以接收一个数组或者是类数组对象,自动去重其中的重复项目。
let arr = [4, 1,10, 3, 3, 2, '2'];
let uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [4, 1,10, 3, 2, "2"]
常情况下,NaN === NaN 返回的是false,但是在set里,一样能够帮你去重。
但是我们发现得到的结果,有时是一个对象,并不是数组,如果我们需要得到数组该肿么办呢?可以使用Array.from(),它可以把类数组对象、可迭代对象转化为数组:
let arr = [4, 1,10, 3, 3, 2, '2'];
let uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // {4, 1,10, 3, 2, "2"}
console.log(Array.from(uniqueArr))//[4, 1,10, 3, 2, "2"]