在我日常工作的一些项目中,我需要访问非常大的 JS 对象中的数据(大约数千个键值对)。我正在努力提高代码的效率,所以我提出了几个问题:
- 当访问这样一个对象中的字段时,JS 的运行时复杂度是多少?我最初的预感是 O(n)
- 通过点表示法和括号表示法访问有区别吗? (例如。
obj.field
vs obj[field]
)
- 我猜不同的运行时引擎有不同的答案 - 有没有地方可以看到它们之间的区别?
Javascript对象实际上是哈希,所以复杂度是O(1)
适用于所有发动机。
obj.field
是一个别名obj['field']
,所以他们有相同的表现。
你可以找到一些JS哈希性能测试here https://stackoverflow.com/a/12255071/2968562,不幸的是仅适用于您的浏览器引擎。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)