ES6中 set、 map

Set

set对象类似于数组,且成员的值都是唯一的。

Set实例对象的方法

add(value):添加某个值,返回 Set 结构本身(可以链式调用)。

delete(value):删除某个值,删除成功返回true,否则返回false。

has(value):返回一个布尔值,表示该值是否为Set的成员。

clear():清除所有成员,没有返回值。

const arr = [1, 2, 3, 4, 5, 3, 2, 1];
//1:
const set = new Set();
arr.forEach(item => set.add(item));
console.log(set);  // 1, 2, 3, 4, 5
//2: 
console.log([...new Set(arr)]);  //[1, 2, 3, 4, 5]

Map

Map对象类似 Json 。

Map对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。构造函数Map可以接受一个数组作为参数。

Map对象的方法

set(key, val): 向Map中添加新元素

get(key): 通过键值查找特定的数值并返回

has(key): 判断Map对象中是否有Key所对应的值,有返回true,否则返回false

delete(key): 通过键值从Map中移除对应的数据

clear(): 将这个Map中的所有元素删除
 

let map = new Map();
var obj = { name: '兴奋起来', age: 18 };
map.set(obj, '狗胆');
map.get(obj); // 狗胆
map.has(obj); // true
map.delete(obj) ;
map.has(obj); // false

 

set 、map 的区别

1.Map是键值对,Set是值得集合,当然键和值可以是任何的值;
2.Map可以通过get⽅法获取值,⽽set不能因为它只有值;
3.都能通过迭代器进⾏for...of遍历;
4.Set的值是唯⼀的可以做数组去重,Map由于没有格式限制,可以做数据存储;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值