ES6 Map和Set

ES6标准引入了新的iterable类型,Array、Map和Set都属于该类型。遍历Array可用下标循环,而Map和Set无法用下标。具有iterable类型的集合可通过新的for... of循环遍历,还介绍了Set可用于数组去重。

ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。 遍历Array可以采用下标循环,遍历Map和Set就无法使用下标 具有iterable类型的集合可以通过新的for ... of循环来遍历。

1.Set

它类似于数组,但是成员的值都是唯一的,没有重复的值。所以我们可以用它进行数组去重。

let arr=[1,2,3,3,2,1];
let set=new Set(arr)
let newArr=Array.from(new Set(arr));
console.log(newArr);  //[1,2,3]
set.size()  //3 该length 属性的值为0。获取长度
set.add(4);//添加已有元素会将原来的元素覆盖,长度不变
set.delete(4);//删除元素
set.clear(); //从Set对象中删除所有元素
set.has(1); //true 
set.has(4); //false
let obj={a:1,b:2};
set.add(obj);
set.has(obj); //true
//获取数组中最大值
let max=Math.max(...newArr);
复制代码

2.map

let map = new Map();
let a = {b: "Hello World"};

map.set(c, "content")
map.get(c) // "content"
map.set('c', '');//
map.get('c'); // '',由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值覆盖。

map.has(c) // true
map.delete(c) // true
map.has(c) // false
map.keys() //返回一个新Iterator对象,该对象包含按插入顺序排列的对象中每个元素的键Map
map.values() //返回一个新Iterator对象,该对象包含按插入顺序排列的对象中每个元素的值Map。

复制代码

转载于:https://juejin.im/post/5ce64e90f265da1bcb4f04b6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值