前言
小伙伴们大家好,今天开始要跟大家分享的是关于ES6系列的相关知识。前端的小伙伴都应该知道,自从es6发布后,为我们提供了很多新的的语法和方法,也使得我们在开发过程中更加高效更加便利。接下来就将给大家分享一下es6新语法中关于数据结构的Set和Map方法。
Set
Set是es6中提供的一种数据结构,它类似数组但与数组不同的是,它的值都是唯一的没有重复值。Set有如下特点和作用:
- Set本质也是一个构造函数,因此在使用时需要new,同时Set可以接收一个数组(或者具有 iterable 接口的其他数据结构)作为参数用来初始化Set
- Set中的值可以是任意类型的,但必须不能重复
- Set的最大特点就是,里面的值都是唯一的,因此可以用来进行数组去重使用
- Set中认为NaN和NaN是同一个值,因此Set中只能有一个NaN值(但我们知道事实上NaN和NaN用于是不相等的)
- Set中两个对象永远是不相等的,即使键和值都是一样的
- Set也可以为字符串去重
- 在向Set添加值的时候不会发生类型转换,因此“5”和5是两个值
- Set 是可遍历的
下面我们用具体代码来一一展示一下上面的这些特点
//1. Set是一个构造函数
//2. Set的值可以是任意类型的
//3. Set不会进行类型转换
//4. Set可接收一个数组作为参数
//5. Set的值都是唯一的
//6. Set是可遍历的
let mySet = new Set([1,2,2,3,4,5,"5","set","set"]);
mySet.forEach(item=>{
console.log(item);
}