用JS的对象实现字典,属性名称作为键,当容量达到一定的时候,是否会影响性能
js其实有办法将Object转为Dictionary,只是比较hack// uses a heuristic used by v8 and chakra to force an object into dictionary mode.function MakeDictionary\u0026lt;T\u0026gt;(obj: T): T { ;(\u0026lt;any\u0026gt;obj).__ = undefined delete (\u0026lt;any\u0026gt;obj).__ return obj}触发v8或者chakra将Object转为字典具体可以参考我的一篇文章
reflect-metadata中的HashMap对巨大Object的存取速度优化
【用JS的对象实现字典,属性名称作为键,当容量达到一定的时候,是否会影响性能】
■网友
如第一个答案分析的,数据量达到一定程度浏览器标签页就奔溃了,但是 99% 的情况下页面不会 load 这么大的数据。楼主的问题本质应该数据结构的问题,js 里面的对象可以简化认为是 hash,读取性能会比数组快。上面说 js 中的 object 可以简化认为是 hash 而不完全是,是因为 hasOwnProperty、prototyoe 这些属性的存在。
■网友
最快的是用隐藏类,也就是V8的方法,这比hash还快,hash算慢的了。当然你放心hash是最起码的,遍历这种事情,ie4我估计都干不出
推荐阅读
- 北京22家市属医院均开展安检基本实现重点区域安检措施全覆盖
- 长江流域渔民退捕“上岸”实现扩产新致富
- 实现“甜蜜计划”,这对中哈跨国夫妻好甜
- 北京地铁11号线西段三座车站提前实现主体结构封顶
- 特斯拉|特斯拉将全面发布全自动驾驶软件最新版,曾承诺年底实现完全无人干预
- |徐州建有农家书屋2205家,实现数字书屋全覆盖
- 阿里云|【GET2020】阿里云解航:在线教育帮助线下教育一起实现教育公平和个性化
- 我有几个app点子,拉出来比较容易实现的一个和大家探讨,只差程序员(替你们说了)请问这个点子咋样
- 一个利用量子纠缠实现超光速通讯的构想,可行吗
- 结婚对象的抉择
