20. Set的用法?

一、Set数据结构的特点?ES6提供了新的数据结构Set,它类似于数组,但是成员的值都是唯一的,没有重复的值。Set不同于Map,它没有键值对的概念,它只有一个维度,就是value。

二、Set数据结构应用在哪些地方?应用:搜索历史关键字的存储网站的搜索功能,用户搜索完成后,网站要记录用户搜索的关键字,方便用户下次直接点击,搜索历史关键字就可以了。用户搜索历史关键字,不能有重复的值,当用户多次输入相同的关键字,用set存储值,内部会自动判断值是否重复,如果重复,就不会再存储。

三、Set的用法Set本身是一个构造函数,用来生成Set数据结构。属性size,Set里面有多少个元素,类似于数组的length。const set = new Set();const s1 = new Set(); // 空的Set数据结构console.log(s1.size) // 0 const s2 = new Set([“a”, “b”]);console.log(s2.size) // 2Set函数可以接受一个数组作为参数,用来初始化。1. const set = new Set([1,2,3,4,5,4,5]);console.log(set) // {1, 2, 3, 4, 5}2. const s3 = new Set([“a”,”a”,”b”,”b”]);console.log(s3.size) // 2const ary = […s3]; console.log(ary) // [“a”,”b”]

四、Set的属性和方法(实例方法)1. add(value): 添加某个值,返回Set结构本身。const s4 = new Set();// 向set结构中添加值 使用add方法s4.add(‘a’).add(‘b’); // 链式调用console.log(s4.size) // 2 2. delete(value): 删除某个值,返回一个布尔值,表示删除是否成功。const s4 = new Set([‘1′,’2′,’c’]);const r1 = s4.delete(‘c’);console.log(s4.size) // 2console.log(r1); // true3. has(value): 返回一个布尔值,表示该值是否为Set的成员。const s4 = new Set([‘1′,’2′,’c’]);const r2 = s4.has(‘d’);console.log(r2) // false4. clear(): 清除所有成员,没有返回值。const s4 = new Set([‘1′,’2′,’c’]);s4.clear();console.log(s4.size); // 0 5. 遍历 (方法)- Set结构的实例与数组一样,也拥有forEach方法,用于对每个成员执行某种操作,没有返回值。// 遍历set数据结构,从中取值const s5 = new Set([‘a’, ‘b’, ‘c’]);s5.forEach(value => { console.log(value) })// a b c

发表评论