ES6--深入理解Set和Map

一、Set

当问到数组去重方式时,我们能想到的最简单的方法就是ES6中的Set;Set是一个数据容器,能够存储无重复值的有序列表

let arr = [1,2,3,1,2,3]
let arr_1 = Array.from(new Set(arr))
console.log(arr_1); // [1,2,3]

let arr_2 = [...new Set(arr)]
console.log(arr_2); // [1,2,3]

1、创建Set:new Set()

2、Set添加元素:set.add()

3、Set删除元素:set.delete()

4、判断Set中是否含有某个元素: set.has()

5、Set的长度:set.size

6、Set遍历输出:set.forEach

7、Set转化为数组:解构[...set]

let set = new Set([1,2,3,1,1,1,2]); // 创建Set

set.size;  // 3

set.add(5); // Set(4) {1,2,3,5}

set.delete(1); // true

set.has(1); // false

set.forEach(el => { console.log(el) }); // 2 3 5

let [...arr] = set; // [2,3,5]

 

 

二、Map

Map类似于对象,但不同于对象的是,Map的key可以是任意数据类型

1、创建Map: new Map()

2、遍历:map.keys()键名;map.values()键值;map.entries()所有

3、Map的长度:map.size

4、设置键值对:map.set(a,1)

5、获取键值:map.get(a)

6、判断键是否存在:map.has(a)

7、删除键:map.delete(a)

8、删除所有键:map.clear()

9、Map转换为Array:[...map]

let map = new Map([['name','lily'],['age',25]]);  // 创建Map
console.log(map);  // Map(2) {'name'=>'lily', 'age'=>25}

map.set('gender','女');  // Map(3) {'name'=>'lily', 'age'=>25, 'gender'=>'女'}

map.size;  // 3

map.get('name'); // 'lily'

map.delete('gender'); // true
console.log(map);  // Map(2) {'name'=>'lily', 'age'=>25}

map.keys(); // {"name", "age"}

map.values(); // {"lily", 25}

map.entries(); // {"name" => "lily", "age" => 25}

map.has('gender');  // false

let arr = [...map]; 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值