是在JavaScript中设置哈希集合
Is Set a hashed collection in JavaScript?
我在问自己这个问题Set
是JavaScript中的哈希集合吗
例如,Set.prototype.has
将迭代整个Set
,还是其实现使用内部哈希表来定位集合中的项目?
ECMAScript 2015规范指出:
集合对象必须使用哈希表或其他机制来实现,这些机制平均提供的访问时间与集合中元素的数量次线性。
显然,他们不能强迫特定的JS引擎真正做到这一点,但在实践中,JS引擎会做正确的事情。
ES6规范不需要特定的实现,但它确实表明它应该比O(n)
更好(因此比线性查找更好(。而且,由于Set
对象的目的是高效地查找集合中的项,因此它肯定会使用某种高效的查找系统,如散列。
如果你想确定它是如何工作的,你必须查看Firefox或Chrome实现的开源代码。
您还可以对其进行基准测试,以证明查找速度不是O(n)
,而是更高效的速度。
相关文章:
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- AngularJS:获取链接中没有哈希的查询字符串值
- 如何在Google chrome安全首选项文件中创建扩展安全哈希代码
- 如何在浏览器重新加载时保存位置哈希状态
- jQuery scrollTop-哈希错误
- 动态添加哈希标记;t工作
- 在Javascript中实现对哈希值的暴力攻击
- 如何在JavaScript/Node中计算SHA256哈希和Base64字符串编码
- 使用Javascript/jQuery以编程方式将当前锚点/哈希/片段附加到任何表单操作url
- 可以在React Native中制作一个自哈希应用程序
- 重定向不带哈希的URL-Ember.JS
- 正在测试主干事件哈希
- JavaScript对象作为哈希?复杂性是否大于O(1)
- 如何在JavaScript中实现哈希表
- 如何根据传入的哈希标签发送PHP请求
- 在我的图库(jQuery)中使用箭头导航时,更改URL中的哈希
- 如何计算字符串集合(0.5000个元素)的哈希代码
- 使用Javascript创建哈希表样式的集合
- 是在JavaScript中设置哈希集合