ES6新数据类型map与set
Posted lqw007
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6新数据类型map与set相关的知识,希望对你有一定的参考价值。
一、map,简单的键值对映射,具有很快的查找速度
1. 初始化map,map的键名可以使用其他数据类型,对象的属性名只能使用字符串或symbol
使用二维数组
var m = new Map([[‘name‘, ‘LQW‘], [‘age‘, 23], [123, ‘我的键名是数字类型‘]]);
m.get(‘name‘); // LQW
初始化一个空Map
var m = new Map();
m.set(‘name‘, ‘LQW‘);
m.set(‘age‘, 23);
m.set(123, ‘我的键名是数字类型‘);
m.get(123); // 我的键名是数字类型
备注:由于一个key只能对应一个value,所以重复赋值后面的会覆盖前面的。
如果Map的键是一个简单类型的值(数字、字符串、布尔值),则只要两个值严格相等,Map将其视为一个键,包括0和-0。另外,虽然NaN不严格相等于自身,但Map将其视为同一个键。
2.map的方法
var m = new Map();
设置键值 m.set(key,value);
获取键值 m.get(key);
删除键值 m.delete(key);
移除所有的键值 m.clear();
获取键的个数 m.size;
判断键值是否存在 m.has(key);
获取所有的键名(Iterator对象:可以使用for..of进行迭代的对象)m.keys();
获取所有的键值(Iterator对象:可以使用for..of进行迭代的对象)m.values();
二、set,与map类似,也是一组key的集合,但是没有value,类似于数组,并且不能存储重复的key
1.初始化set
var s = new Set();s.add(4);
var s = new Set([1, 2, 3]);
2. set方法
添加key s.add(key);
删除key s.delete(key);
判断键值是否存在 s.has(key);
移除所有的键值 s.clear();
以上是关于ES6新数据类型map与set的主要内容,如果未能解决你的问题,请参考以下文章