【发布时间】:2017-12-29 05:37:02
【问题描述】:
在我日常工作中正在进行的一些项目中,我需要访问非常大的 JS 对象中的数据(大约有数千个键值对)。我正在努力提高我的代码的效率,所以我想出了几个问题:
- 访问此类对象中的字段时,JS 的运行时复杂度是多少? 我最初的预感是 O(n)
- 通过点符号或括号符号访问时有区别吗? (例如
obj.field与obj[field]) - 我猜对于不同的运行时引擎会有不同的答案 - 有没有可以看出它们之间区别的地方?
【问题讨论】:
-
在 V8 上还取决于对象如何受到威胁。例如,如果使用
delete,则该对象会在内部转换为另一种性能较低的类型。看看Map。不知道性能,但可能更快(在你的情况下,我的意思是)。
标签: javascript json node.js time-complexity