js 中类似 python set 的数据类型

更新日期: 2022-05-02 阅读次数: 2497 字数: 246 分类: Javascript

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

这个类目,需要去重,然后列举出来,如果能用 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));

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式