🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 1.基础 ~~~ var s = new Set([1,2,3,4,2]); console.log(s) //添加,不会重复添加 s.add(7); console.log(s); console.log(s.size)//获取set的长度 ~~~ ## 2.去重 ### 2.1数组 ~~~ var s = new Set([1,2,3,4,2]); var arr =[...s]; console.log(arr); ~~~ ### 2.2字符串 ~~~ var s = new Set('abcaa'); console.log(s) //Set(4) {"a", "b", "c", "d"} var arr =[...s]; console.log(arr.join("")); //abcd ~~~ ## 3.Set 实例的属性和方法 * `Set.prototype.constructor`:构造函数,默认就是`Set`函数。 * `Set.prototype.size`:返回`Set`实例的成员总数。 方法 * `add(value)`:添加某个值,返回 Set 结构本身。 * `delete(value)`:删除某个值,返回一个布尔值,表示删除是否成功。 * `has(value)`:返回一个布尔值,表示该值是否为`Set`的成员。 * `clear()`:清除所有成员,没有返回值。 * `Array.from`方法可以将 Set 结构转为数组。 ~~~ const items = new Set([1, 2, 3, 4, 5]); const array = Array.from(items); //[1,2,3,4,5] ~~~ ## 4.遍历 ~~~ * `keys()`:返回键名的遍历器 * `values()`:返回键值的遍历器 * `entries()`:返回键值对的遍历器 * `forEach()`:使用回调函数遍历每个成员 ~~~ ~~~javascript let set = new Set(['red', 'green', 'blue']); for (let item of set.keys()) { console.log(item); } // red // green // blue for (let item of set.values()) { console.log(item); } // red // green // blue for (let item of set.entries()) { console.log(item); } // ["red", "red"] // ["green", "green"] // ["blue", "blue"] ~~~