ES6学习总结之Set和Map的使用

前言

当我们需要存储一些数据的时候,首先想到的是定义一个变量用来存储,之后我们可能学了数组,发现数组比变量可以存储更多的数据,接着可能有其它的存储数据的方法等等,然而我今天需要介绍的是在ES6中比较常见使用的数据类型结构,Set和Map。

Set数据结构

一、Set简介

  • set中成员的值都是唯一的,没有重复的值

  • 向set中添加成员时,不会发生类型转换

  • 向set中添加的对象总是不想等

二、常用的属性和方法

属性:

  • size:返回set实例的成员总数

方法:

  • add():添加某个值,返回set本身

  • delete():删除某个值,返回一个布尔值,判断删除是否成功

  • has():返回一个布尔值,表示该值是否为set成员

  • clear():清除所有成员,没有返回值

  • keys():返回键名的遍历器

  • values():返回键值的遍历器

  • entries():返回键值对的遍历器

  • forEach():使用回调函数遍历每个成员

三、实例剖析

为了方便大家更好的了解和学习set,我在这里会将这些方法和属性进行分类整理和讲解

1、set的基本用法



    
        
        数组去重
    
    
        
    

ES6学习总结之Set和Map的使用_第1张图片

 可以看到向Set添加成员时,不会添加重复的值

2、数组作为参数传入到set结构中



    
        
        
    
    
        

3、set中添加的值不会发生类型转换



    
        
        向set中添加成员时,不会发生类型转换
    
    
        
    

向 Set 加入值的时候,不会发生类型转换,所以5"5"是两个不同的值。Set 内部判断两个值是否不同,使用的算法叫做“Same-value-zero equality”,它类似于精确相等运算符(===),主要的区别是向 Set 加入值时认为NaN等于自身,而精确相等运算符认为NaN不等于自身。

4、set中添加的对象总是不想等的



    
        
        向set中添加的对象总是不想等
    
    
        
    

由于两个空对象不相等,所以它们被视为两个值

5、Array.from()方法

Array.from()可以将set结构转为数组,这就提供了去除数组重复成员的另一种方法



    
        
        Array.from()方法
    
    
        
    

四.遍历的应用

1、数组去重



    
        
        数组去重
    
    
        
    

2、间接使用数组的方法



    
        
        间接使用数组的方法
    
    
        
    

3、实现并集,交集,差集



    
        
        实现并集,交集,差集
    
    
        
    

你可能感兴趣的:(es6,es6)