ES6中Set和Map简单用法

Set数据结构(集合)

ES6提供了新的数据结构,它类似于数组,但是成员值都是唯一的,没有重复的值
例如电商网站中的搜索功能,用户搜索完成之后网站会记录用户搜索的关键字,方便用户下次直接点击历史关键字就可以搜索了,搜索历史关键字的存储就可以使用Set数据结构。
Set本身是一个构造函数,用来生成Set数据结构

const s= new Set();

Set函数可以接受一个数组作为参数,用来初始化

const set new Set([1,2,3,4,4]);

当向Set数据结构中传递初始值时,会将重复的值过滤掉

const s1 = new Set(["a","a","b","b"]);
console.log(s1.size);//2
const ary = [...s1];
console.log(ary)

Set的方法:

操作方法:

  • add(value):添加某个值,返回Set结构本身
  • delete(value):删除某个值,返回一个布尔值,表示删除成功
  • has(value):返回一个布尔值,表示该值是否为Set的成员
  • clear():清除所有成员,没有返回值

遍历方法:

  • keys():返回键名
  • values():返回键值
  • entries():返回键值对
  • forEach():使用回调函数,遍历每个成员
const s2 = new Set();
//向set结构中添加值,使用add方法,可以使用链式结构
s2.add('q').add('e');
console.log(s2.size);// 2
//从set结构中删除值,用delete方法
const r1=s2.delete('a');
console.log(s2.size);
console.log(r1);// true 如果删除一个不存在的值则返回false
//判断某一个值是否是set数据结构中的成员,使用has
const r2=s2.has('a');
console.log(r2);//true
//清空set数据结构中的值,使用clear方法
s2.clear();
console.log(s2.size);//0

从Set数据结构中取值,forEach

const s3=new Set(['a','b','c']);
s3.forEach(value=>{
	console.log(value)
})

Map数据结构(字典)

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

  • 一个Object的键只能是字符串或者Symbols,但是一个Map的键可以是任意的值
  • Map中的键值是有序的,而添加到对象中的键则不是
  • Map的键值对个数可以从size属性中获取,而Object的键值对个数只能手动计算
  • Object都有自己的原型,原型链上的键名有可能和自己在对象上设置的键名产生冲突

Map对象的属性

size:返回Map对象中所包含的键值对的个数

Map的操作方法:

  • set(key,val):向Map中添加新元素
  • get(key):通过键值查找特定的数值并返回
  • has(key):判断Map对象中是否有key所对应的值,有则返回true,否则返回false
  • delete(key):通过键值从Map中移除对应的数据
  • clear():将这个Map中的所有元素删除

遍历方法:

  • keys():返回键名
  • values():返回键值
  • entries():返回键值对
  • forEach():使用回调函数,遍历每个成员
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值