手记

【金秋打卡】第15天Set介绍和Set的方法属性

一、课程名称:前端工程师2022版

二、课程章节:ES6语法扩展-Set和Map数据结构

三、课程讲师:Alex

四、课程内容

1、Set是什么

(1)什么是Set

可以翻译为“集合”(但不推荐使用这个翻译,因为翻译有时候会失真),它和数组类似(数组是一系列有序的数据集合),Set是一系列无序、没有重复值的数据集合

(2)理解Set

1)数组创建的方式有两种,一种是字面量,一种是通过实例化构造函数,而Set只能通过实例化构造函数进行创建

2)添加成员,使用add属性添加,每次只能添加一个,且Set中不能有重复的成员

3)Set没有下标去标示每一个值,所以Set是无序的,也不能像数组那样通过下标取访问Set的成员

2、Set实例的方法和属性(重要)

(1)方法

1)add:可以为Set添加成员,括号内一次只能添加一个成员,且成员不能重复,但是可以连续添加

      const s = new Set();

      s.add(1).add(2).add(3);

      console.log(s);   //Set(3) {1, 2, 3}

2)has:可以用于判断Set中是否有某个成员,输出结果为布尔值

     console.log(s.has(1)); //true

     console.log(s.has(4)); //false

3)delete:可以删除指定成员,如果使用delete删除不存在的成员,什么都不会发生,也不会报错

      s.delete(3);

      console.log(s); //Set(2) {1, 2}

      s.delete(4);  //删除不存在成员,不会报错,也不会有什么发生

      console.log(s); //Set(2) {1, 2}

4)clear:可以清空Set内的所有成员

      s.clear();

      console.log(s);   //Set(0) {size: 0}

5)forEach:可以用来遍历Set,给访问Set成员提供方法,会按照成员添加进集合的顺序遍历

①forEach方法第一个参数是回调函数,第二个参数是指定回调函数中的this指向是什么

②回调函数中传入参数,其中value代表Set中的每一个成员;key没有什么实际意义,它相当于value,即value = key,这里放上key只是为了做到统一,因为后面的Map也有forEach方法;set表示前面的's'本身

      s.forEach(function (value, key, set) {

        console.log(value, key, set);

        console.log(value, key, set === s); //true

        console.log(this);  //#document

      }, document);

      console.log(s);

 

(2)属性(只有一个):size:用于获取成员长度

      console.log(s.size);  //3

五、课程心得

今天学习了Set的相关知识,Alex老师用以前学习过的数组知识来引出了Set的相关知识,让我更加快地学习到Set的知识,期待接下来的Set的其他知识。

0人推荐
随时随地看视频
慕课网APP