js 中类似 python set 的数据类型

发布时间: 2021-10-08 20:22:08 作者: 大象笔记

我在写一个自动选课的插件,需要先扫描几千个课程,然后统计出所有课程所属的类目。

这个类目,需要去重,然后列举出来,如果能用 python set 类型来统计,就非常方便了。 但是不知道 js 是否支持这样的数据类型。

查了一下,果然已经支持。在 Chrome 里测试了一下,非常方便

> let s = new Set();
> s
Set(0) {}
> s.add(1)
Set(1) {1}
> s.add(2)
Set(2) {1, 2}
> s.add(3)
Set(3) {1, 2, 3}
> s.add(3)
Set(3) {1, 2, 3}

// 也可以直接从 array 进行初始化
> let s2 = new Set([1, 2, 3, 3, 3]);
> s2
Set(3) {1, 2, 3}

参考

更多操作参考

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set

tampermonkey 中 GM_setValue 使用 set 类型

保险起见,在 GM_setValue 时,最好将 set 类型转换为 array。

我发现一个版本中,tm 会将 set 保持为空 object。

set 转换为 array 的方法

GM_setValue("years", Array.from(years));
我是一名山东烟台的开发者,联系作者