ES6解构赋值和拓展运算符

1、ES6 - set 数据结构(可以去重)

特点:

Set 数据结构类似数组  所有数据都是唯一的 没有重复值(有去重功能) 本身是一个构造函数

属性和方法:

1、size :数据的长度

2、add():添加某个值 返回Set结构本身

3、delete():删除某个值 返回一个布尔值  表示是否删除成功  删除的值存在且删除返回true 反之返回false

4、has(): 查找某个值 返回一个布尔值  查找的值存在返回true 反之false

5、clear():清除所有成员 没有返回值- undefined   且原Set数据显示0属性是空

Set()数据结构怎么遍历?

一样可以用for of 


2、数组的解构赋值

赋值和顺序有关

值要一一对应 如果有对应不上的就是undefined


3、对象的解构赋值

赋值和顺序无关  属性名和变量名必须一致



怎么给解构出来的变量修改名字?



怎么给解构出来的变量设置默认值?

1、当原对象的值变成undefined

2、删除原对象


4、ES6拓展运算符

作用:

1、字符串转数组

2、类数组或set集合转真正数组

3、合并数组


1、利用ES6 拓展运算符实现把字符串转成数组


2、利用拓展运算符转成真正的数组

利用new Set去重,利用拓展运算符把set集合转成真正的数组

注意:Array.prototype.slice.call 无法把Set集合转数组


3、利用拓展运算符来实现两个数组的合并



5、Map集合

键名和对应的值支持所有数据类型  本身是一个构造函数


1、Map的属性和方法

属性:

size    返回map的元素数

基本方法

(1)set()   给map添加数据,返回添加后的map(给已存在的键赋值后会覆盖掉之前的值)

(2)get()   获取某个key的值,返回key对应的值,没有则返回undefined

(3)has()   检测是否存在某个key,返回布尔值

(4)delete()  删除某个key及其对应的value,返回布尔值,成功删除则为true

(5)clear()   清除所有的值,返回undefined



2、Map遍历方式

注意:map的遍历顺序就是插入顺序

(1)keys()  获取map的所有key

(2)values()  获取map的所有值

(3)entries()  获取map的所有成员 map本身


3、for of — 使用for of 可以用来循环map迭代器

for of  不可以用来遍历对象 会提示对象不是一个迭代器   遍历对象只能使用for in 

for of 可以遍历数组 里面的变量的值是数组的每一项

重点

for of遍历map.entries()的时候 会把对象变成数组 对象的key变成数组的第一个值  对象的value变成第二个值


如何快速得到数组的key和value?

利用数组的解构赋值快速得到key和value



小练习:


拓展:

对象也有keys、values、和entries

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容