用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我估计都干不出


    推荐阅读