首页技术文章正文

如何使用Set数据结构保存数据?Set实例操作演示

更新时间:2022-07-27 来源:黑马程序员 浏览量:

Set数据结构

ES6提供了新的数据结构Set。Set类似于数组,但是成员的值都是唯一的,没有重复的值。它的实例的方法分为两大类,即操作方法(用于操数据)和遍历方法(用于遍历成员)。

Set数据结构常用于电商网站的搜索功能中,用户搜索完成后,网站要记录用户搜索的关键字,方便用户下次直接单击搜索历史关键字来完成搜索。

1.创建Set数据结构

Set本身是一个构造函数,创建此构造函数的实例对象就是创建Set数据结构。创建Set数据结构示例代码:

   <script>
     const s1 = new Set0; //使用new关键字创建Set构造函数的实例
     console.log(s1.size); //输出结果: 0
   </script>

2.初始化Set数据结构

在创建Set数据结构时,也可以传递一个数组作为参数,用来初始化。初始化Set数据结构示例代码如下:

   <script>
    const s2 = new Set(['a', 'b']);
    console.log(s2.size);//输出结果:2
   </script>

3.利用Set数据结构给数组去重

在初始化Set构造函数时,可以传递一个数组作为参数,如果数组中有重复的值,那么Set数据结构会把重复的值过滤掉。

数组去重示例代码

   <script>
    const s3 = new Set(["a", "a", "b","b"]);
    console.log(s3.size);//输出结果:2
    const ary = [...s3];
    //输出结果:(2)["a","b"]
    donsole.log(ary);
   </script>

Set实例的操作方法

1.Set实例的add0方法

Set实例提供的add(0方法用于向Set数据结构中添加某个值,它接收一个参数代表要添加的值,返回Set结构本身。演示add0方法的使用

   <script>
    const s4 = new 
    Set();
    s4.add('a').add('b');
    console.log(s4.size);//输出结果:2
   </script>

2.Set实例的delete0方法

Set实例提供的delete()方法用于删除Set数据结构中的某个值,它接收一个参数代表要删除的值,返回一个布尔值,如果结果为true则表示删除成功,为false则表示删除失败。演示delete()方法的使用

   <script>
    const s4 = new Set();
    s4.add('a').add('b');
    const r1 = s4.delete('a');
    console.log(s4.size);//输出结果:1
    console.log(r1);     //输出结果:true
   </script>

3.Set实例的has0方法

Set实例提供has()方法,该方法接收一个参数并判断该参数是否为Set数据结构中的成员,返回一个布尔值,如果结果为true则表示包含该成员,为false则表示不包含该成员。演示has()方法的使用:

   <script>
    const s4 = new Set();
    s4.add('a').add('b');
    const 
     r1 = s4.delete('a');
    console.log(s4.size);    //输出结果:1
    console.log(r1);     //输出结果:true
    const r2 = s4.has('a');
    console.log(r2);     //输出结果:false
   </script>

4.Set实例的clear(0方法

Set实例提供的clear()方法用于清除Set数据结构中的所有成员,该方法没有返回值。演示clear0方法的使用:

   <script>
    const s4 = new Set();
    s4.add('a').add('b');
    es4.clear();
    console.log(s4.size);//输出结果:0
   </script>

5.Set实例的遍历方法

Set数据结构的实例与数组一样,也拥有一个forEachO方法,用于遍历Set数据结构中的成员,该方法可以对每个成员执行某种操作,没有返回值。演示forEach(0方法的使用:

  <script>
    const s5 = new Set(['a', 'b', 'c']);
    s5.forEach(value => {
     console.log(value);/∥/依次输出a、b、c
    });
   </script>


分享到:
在线咨询 我要报名
和我们在线交谈!