我注意到Sets are being classified as keyed collections,根据定义是:
按键排序的数据收集
但是Set键不是值索引吗?我不确定为什么它们不像数组那样被归类为indexed collection。
谢谢!
答案 0 :(得分:0)
因为您无法访问第一/第二/第三...条目。
“索引”一词的出现是JavaScript¹中有序集合中的位置。 Set
和Map
被视为无序的(尽管可以按插入顺序进行迭代),因此它们没有索引,只有键。
¹我想说的是其他语言/数据库/等等对术语的定义也有所不同。
答案 1 :(得分:0)
Set的集合没有索引集合,因为Set的每个值都是唯一的并且不能重复。集合中的值按添加顺序存储,因此无需为集合创建索引。
我的意思是,当您可以通过Set的值获取Set的值时,就不需要索引了!集合的关键是值本身。是的,您可以使用for ... of
循环来手动检查值的索引。但是这种用法很奇怪。
此外,该Set可以用于从现有Array中删除重复项,并且这里的索引也无能为力。
我不知道,我是否回答了您的问题,但是很明显,我想:)