【问题标题】:Why Sets are considered keyed collections in JavaScript?为什么 Set 在 JavaScript 中被视为键控集合?
【发布时间】:2019-09-07 19:18:34
【问题描述】:

我注意到Sets are being classified as keyed collections,根据定义是:

按键排序的数据集合

但是 Set 键不是 values 索引吗?我不确定为什么它们不像数组一样被归类为indexed collection

谢谢!

【问题讨论】:

    标签: javascript set keyedcollection


    【解决方案1】:

    因为您无法访问第一个/第二个/第三个...条目。

    术语“索引”被创造为 JavaScript 中有序集合中的位置¹。 Sets 和 Maps 可以被视为无序的(尽管它们可以按插入顺序迭代),因此它们没有索引,只有键。

    ¹我会说其他语言/数据库/等确实以不同的方式创造了这个术语。

    【讨论】:

      【解决方案2】:

      Sets 不是索引集合,因为 Set 的每个值都是唯一的,不能重复。 Sets中的值是按添加顺序存储的,所以不需要为Set创建索引。

      我的意思是,当您可以获取 Set 的值时,您不需要索引...通过它的值! Set 的键是值本身。是的,您可以使用for ... of 循环手动检查值的索引。但是这个用例很奇怪。

      此外,Set 可用于从现有 Array 中删除重复项,而且索引在这里没有任何作用。

      我不知道,我有没有回答你的问题,但很清楚,我想:)

      【讨论】:

        猜你喜欢
        • 2018-12-13
        • 2019-09-19
        • 2021-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多