跳到主要内容

Set 和 Map 数据结构

Set

ES6 提供了新的 new Set。没有重复的值

const s = new Set();
const arr = new Set([1, 2, 2, 3, 3]);

Set 结构有以下三个方法及属性。

  • constructor:构造函数,默认就是 Set 函数。
  • size:返回 Set 实例的成员总数。
  • add(value):添加某个值,返回 Set 结构本身。
  • delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
  • has(value):返回一个布尔值,表示该值是否为 Set 的成员。
  • clear():清除所有成员,没有返回值。

Map

允许键实际上是跟内存地址绑定。如果对同一个键多次赋值,后面的值将覆盖前面的值。

const m = new Map();
const o = { p: "Hello World" };

m.set(o, "content");
m.get(o); // "content"

m.has(o); // true
m.delete(o); // true
m.has(o); // false

Map 结构有以下三个方法及属性:

  • size 属性返回 Map 结构的成员总数。
  • set(key, value) 方法设置键名 key 对应的键值为 value
  • get(key) 方法读取 key 对应的键值
  • has(key) 方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。
  • delete(key) 方法删除某个键,返回 true。
  • clear() 方法清除所有成员,没有返回值。