Map&&Set

91 阅读1分钟

1,map和Object的区别

  • Object的键名只能是string或symbols;map的键名可以是任何类型;
  • Object是无序的,map遵从先进先出原则;
  • map对象可以用size来获取其长度;
  • Object有自己的原型,可能和原型有所冲突;

2,Map中的方法

  • map1.set(key,value);
  • map1.get(key);
  • map1.has(key);
  • map1.delete(key);

3,Set对象

set允许存储任何类型的值,类似于数组,但每个值都要求是唯一的
特殊值

+0-0 在存储判断唯一性的时候是恒等的,所以不重复
undefined 与 undefined 是恒等的,所以不重复
NaNNaN 是不恒等的,但是在 Set 中认为NaNNaN相等,所有只能存在一个,不重复。

4,set对象的方法

1,add(value);
2,delete(value);
3,has(value);
4,clear();