【发布时间】:2019-09-07 19:18:34
【问题描述】:
我注意到Sets are being classified as keyed collections,根据定义是:
按键排序的数据集合
但是 Set 键不是 values 索引吗?我不确定为什么它们不像数组一样被归类为indexed collection。
谢谢!
【问题讨论】:
标签: javascript set keyedcollection
我注意到Sets are being classified as keyed collections,根据定义是:
按键排序的数据集合
但是 Set 键不是 values 索引吗?我不确定为什么它们不像数组一样被归类为indexed collection。
谢谢!
【问题讨论】:
标签: javascript set keyedcollection
因为您无法访问第一个/第二个/第三个...条目。
术语“索引”被创造为 JavaScript 中有序集合中的位置¹。 Sets 和 Maps 可以被视为无序的(尽管它们可以按插入顺序迭代),因此它们没有索引,只有键。
¹我会说其他语言/数据库/等确实以不同的方式创造了这个术语。
【讨论】:
Sets 不是索引集合,因为 Set 的每个值都是唯一的,不能重复。 Sets中的值是按添加顺序存储的,所以不需要为Set创建索引。
我的意思是,当您可以获取 Set 的值时,您不需要索引...通过它的值! Set 的键是值本身。是的,您可以使用for ... of 循环手动检查值的索引。但是这个用例很奇怪。
此外,Set 可用于从现有 Array 中删除重复项,而且索引在这里没有任何作用。
我不知道,我有没有回答你的问题,但很清楚,我想:)
【讨论】: