在JavaScript中,Map和Set对象是两种内置的数据结构,是ES6新增的特性,为开发者提供了存储键值对和唯一值集合的能力
Map对象
Map对象保存键值对,而且是有序的,可以记住键的原始插入顺序。任何值都可以作为一个键或者一个值。
先来看一下Map对象究竟是什么
- 给Map添加键值对
此时已经把键值对存到了Map对象里面。注:有序的存入(后面会提到顺序)
- 获取key所对应的value值
- 删除元素
使用 .delete({key})方法删除键值对
- 获取Map对向的数量(长度)&& 遍历
Set对象
Set对象是一种特殊的类型,它类似于数组,但是它的元素是唯一的,没有重复的值(所以可以用来对数组进行去重)
- 添加元素
const setObj = new Set();
setObj.add('first');
setObj.add('second');
如果尝试添加相同的元素,那么只会存进去一个;
- 检查某个元素是否存在于Set对象当中
const isHave = setObj.has('first') // true
const isHave = setObj.has('third') // false
- 删除元素
使用.delete()方法删除元素;
setObj.delete('first');
- 遍历Set和长度
Set对象也是可以迭代的,因此可以循环
for (let value of setObj) {
console.log(value);
}
实例说明Map和Set对象
- 使用Map存储用户信息
- 使用Set去重