JavaScript ES6 Set和Map

119 阅读1分钟

Set

什么是 set

是一系列无序没有重复值的集合

创建 set

new Set();

常用方法

1. add 添加 只能添加一个,可以链式操作
   - s.add(值);
2. has 判断Set里面是否有这个值
   - s.has(值);
3. delete 删除 只能删除一个
   - s.delete(值);
4. clear 清除所有
   - s.clear();
5. forEach() 遍历
   - s.forEach(fn([value,key]),[this指向,前面是箭头函数次参数无效])

属性 size

获取set里面有多少个值

new Set() 参数

可以是数组、字符串、argumentsNodeListSet

set 可以用来做数组去重

    (arr) => [...new Set(arr)];

Map

什么是 Map

是键值对的集合

创建 Map

new Map();

方法

1. set 添加
    - m.set(键,值);
2. get 获取
    - m.get(键)
3. has 判断Map中是否有这个键值对
    - m.has(键)
4. delete 删除
    - m.delete(键)
5. clear 清空
    - m.clear
6. forEach 遍历
    - m.forEach(fu(value,key,map),document) // value = 值,key='键',map=m本身 ,document = this指向 第一个值如果是箭头函数,第二个参数无效

Map 属性 size

size 键值对的个数,对象中是没有类似属性的