Set 和 Map 数据结构

141 阅读1分钟

1.Set

定义

类似于数组,但是成员都是唯一,没有重复的值。

// 例一
const set = new Set([1,2,3,4,4]);

[...set];  // [1,2,3,4]
// 例二
const items = new Set([1,2,3,4,5,5,5,5]);
items.size // 5

// 例三
function divs(){
    return [...document.querySelectorAll('div')];
}

const set = new Set(divs());

set.size // 56

Set 实例的属性和方法

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

s.size // 2

s.has(1) //true
s.has(4) //false

s.delete(2); // true
s.has(2); // false