一、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();

最新文章

  1. CSS中清除浮动的两种方式
  2. JavaScript中的正则表达式(终结篇)
  3. MYSQL 模糊查询
  4. NFS工作原理及配置文件详解
  5. POJ 3162 Walking Race 树形DP+线段树
  6. C# 图片截图(圆形)
  7. Netty 5.0源码分析-ByteBuf
  8. sqlserver 存储过程 游标实例
  9. RHEL64 缺少ISO 9660图像 安装程序试图挂载映像#1,在硬盘上无法找到该映像
  10. 启动就加载(一)----注解方式实现的。static项目启动的时候就加载进来(一般用于常用参数)
  11. 精通CSS+DIV网页样式与布局--CSS文字效果
  12. mysql(mariadb)主从配置
  13. 如何用ABP框架快速完成项目(13) - 用ABP遇到难题项目受阻时如何避免项目延迟
  14. 15 python 初学(闭包,函数装饰器)
  15. 用例该如何书写?完整示例-QQ登录界面
  16. 20165220实验二《Java面向对象程序设计》
  17. openssl可以实现:秘钥证书管理、对称加密和非对称加密
  18. python拉格朗日插值
  19. Eclipce 配置javaEE
  20. 通过ribbon 根据服务名获取所有服务实例的IP和端口列表

热门文章

  1. bootstrap添加多个模态对话框支持
  2. html中id name class的区别(转)
  3. ShareSDK集成遇到问题
  4. java算法之冒泡排序
  5. HDU6440(费马小定理)
  6. morphia(5)-删除
  7. GDB 格式化结构体输出
  8. TDH-search常用命令
  9. linux ln -s 软链接
  10. Django的模型与字段