js 中类似 python set 的数据类型

文章目录

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

    这个类目,需要去重,然后列举出来,如果能用 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式