ES6的学习笔记(九)set和map

245 阅读1分钟

Set和Map

Set对象

  • 语法:new Set([iterable]);
  • 传递一个可迭代对象时,该对象的所有不重复元素将被添加到新的Set中。不指定参数或null,则新的Set为空。
  • 返回值:一个新的Set对象。
  • Set对象是值的集合,元素可按插入的顺序迭代。Set中的元素是唯一的(默认去重)。
const set1=new Set([1,2,3,4,5]);
console.log(set1); // Set(5)

const set2=new Set([1,1,1,1]);
console.log(set2); // Set(1)
  • NaN 和 undefined 都可以存储在Set中,NaN之间被视为相同的值。
const set1=new Set([NaN,undefined]);
console.log(set1); //Set(2){NaN, undefined}

方法

  • Set.add(value) 在Set对象尾添加一个元素。返回该Set对象。
let set1=new Set();
set1.add(1);
consloe.log(set1); //{1}
  • Set.clear() 移除Set对象中的所有元素。
  • 剩下的不如看MDN

Map对象

  • Map 对象保存键值对,并记住键的原始插入顺序。任何值都能作为一个键或者值。

  • 迭代时,会根据Map对象中元素插入的顺序进行。

  • 键的相等:NaN与NaN是等的,其余通过严格相等去判断。 -0和+0是相等的。

  • Map和Object的比较MDN

  • 构造函数Map()的属性 见MDN

  • Map实例的属性和方法 见MDN