es6 Set 和Map 数据结构

原创 年树先生 随笔 vue 15822阅读 7 天前 举报

ES6提供了新的数据结构Set,它类似于数组,但是成员的值都是唯一的,没有重复的值。
Set 本身是一个数据结构,用来生成Set 数据结构。

image.png

 Set 函数可以接受一个数组作为参数
 可以利用去除数组重复成员的方法。

 Set 实例的属性和方法
Set 结构的实例有两种属性

add(value) : 添加某个值,返回Set 结构本身,delete(value): 删除某个值,返回布尔值,
表示是否删除成功。
has(value) 返回一个布尔值,表示该值是否为set 的成员。 clear(),清除所有成员,没有返回值。
可以用 Array.from 方法将Set 结构转为数组

数组去重方法

Set 结构的实例有四个遍历方法,可以用于遍历成员
keys() 返回键名的遍历器 values() 返回键值的遍历器,entries()、返回键值对的遍历器 forEach() 使用回调函数遍历每一个。

  ES6 提供了Map 数据结构,它类似于对象,也就是键值对的集合。

 实例的属性和操作方法
    1 size 属性 返回Map 结构的成员总数
    2.set(key,value) 设置键名key对应的键值为value,然后返回整个Map结构
    3.get(key) ,get方法读取key 对应的键值,如果找不到key,返回undefined。
    4.has(key) 返回一个布尔值,表示某个键是否在当前Map独享之中.
    5.delete(key) 方法删除某个键,返回true 如果删除失败,返回false.
    6.clear() 方法清除所有成员,没有返回值。

Map 结构提供三个便利器生成函数和一个遍历方法。
keys() 返回键名的遍历器 values() 返回键值的遍历器,entries()、返回键值对的遍历器 forEach() 使用回调函数遍历每一个。
与其他数据结构之间的转换

  (1)Map 转为数组,前面已经提过,Map 转为数组最方便的方法,就是使用扩展运算符

 (2) 数组转为Map 将数组传入Map 构造函数,就可以转为Map

(3) Map 转为对象,如果所有Map 的键都是字符串,它可以转为对象

(4) 对象转为 Map

 (5)Map 转为JSON
 一种情况是,Map 的键名都是字符串,这时可以选着转为对象JSON

    另一种情况是Map的键名有非字符串,这时可以选择转换为数组JSON

另一种情况是Map的键名有非字符串,这时可以选择转换为数组JSON

(6)JSON 转为Map
正常情况下所有键名都是字符串

结语

感谢您的观看,如有不足之处,欢迎批评指正。

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复