ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。
数组去重
Array.from 方法可以将 Set 结构转为数组。我们可以专门编写使用一个去重的函数
字符去重
另外 Set 是如此强大,因此使用 Set 可以很容易地实现并集(Union)、交集(Intersect)和差集(Difference)。
let a = [1,2,3]; let b = [4,3,2]; //并集 let union = Array.from(new Set([…a,…b]))
//交集 let inter = […a].filter(x=new Set(b).has(x))
//补集
顺便学习Array.from的功能 1.把类数组或者集合转为数组,返回一个新数组 Array.from(arguments) Array.from(new Set([1,3,5]))
2.第二个参数是一个方法,返回一个新数组 Array.from([1,2,3,4],(item)=>item+1)
3.Array.from({length:10}) 创建length10的数组 Array.from(object,mapFunction,thisValue) object 必需,要转换为数组的对象。 mapFunction 可选,数组中每个元素要调用的函数。 thisValue 可选,映射函数(mapFunction)中的 this 对象。