ES6-Set()&&Map()
本文最后更新于197 天前,其中的信息可能已经过时,如有错误请发送邮件到1986413837@qq.com

ES6提供了两种新的数据结构Set 和 Map

这两种数据结构在开发以及算法考察中很重要 所以我们专门介绍一下(其实之前算法题已经用过啦)

Set

类似于数组 但是成员值唯一 没有重复的值

Set本身是一个构造函数 用来生成Set数据结构

先简单感受一下Set的作用

基本语法

new Set([可以传入数组]) 创建一个Set数据结构

add() 向Set中添加元素 重复的元素不会添加!

has() 查询Set中是否有某个元素 返回布尔值

delete() 删除Set中的元素

[…set] / Array.from(set) = > 将Set转化为数组

size属性 获取Set中元素个数

clear() 清除所有成员

遍历操作

(1)keys() values() entries()

可以省略values方法 直接用for…of循环遍历Set

(2)forEach()

Set的应用

(1)实现数组去重

扩展运算符和Set结构相结合 就可以去除数组中的重复成员

(2)实现并集(Union) 交集(Intersect) 差集(Difference)

Map

本质上是键值对的集合(Hash结构)

简单感受一下Map的作用

基本语法

new Map([[],[],…]) 可传入二维数组 创建一个Map数据结构

set(key,value) 向Map中添加元素(类型不受限制)

has(key) 查询Map中是否存在某个键

get(key) 获得key对应的value值 没有key则返回undefined

delete(key) 删除对应的键值对

[…map] = > 将Map转化为数组

size属性 获取Map中键值对个数

clear() 清除所有成员

Map构造函数接收数组作为参数时 实际上执行的是下面的算法

Map的键实际上是跟内存地址绑定的 只要内存地址不一样 就视为两个键 如下图 k1 k2值相同 但是它们在Map结构中被视为两个键

遍历操作

keys() values() entries() forEach()

结合数组的map方法,filter方法 可以实现Map的遍历和过滤 (Map本身没有map和filter方法) 如下图示例

唱别久悲不成悲 十分红处竟成灰
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇