0

我注意到Sets 被归类为 keyed collections,并且根据定义是:

按键排序的数据集合

但是 Set 键不是值索引吗?我不确定为什么它们不像数组一样被归类为索引集合。

谢谢!

4

2 回答 2

0

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

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

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

于 2019-04-17T14:01:32.263 回答
0

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

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

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

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

于 2019-04-17T14:11:54.337 回答