javascript - javascript中对象键的大小

标签 javascript performance object key size

我有一个关于 JavaScript 的简单问题。

JavaScript 对象中键的大小(就性能而言)重要吗?

这里有 2 个例子:

a.快捷键

 var obj = {};
 obj['a'] = { x : 1, y : 0 };
 obj['b'] = { x : 1, y : 0 };
 obj['c'] = { x : 1, y : 0 };

b.长键

var obj = {};
obj['this_is_a_long_key'] = { x : 1, y : 0 };
obj['this_is_a_longer_key'] = { x : 1, y : 0 };
obj['this_is_the_longest_key'] = { x : 1, y : 0 };

因此,如果我经常搜索/编辑这些对象的属性(可能有很多),那么键的大小是否与搜索/编辑等操作的性能有任何关系?

谢谢

最佳答案

大键不是免费的,因为最终运行时在查找属性时必须执行哈希和比较操作。但是,除非您有大量长 key ,否则可能不值得担心。

现代 JavaScript 环境通常已经进行了足够的优化,可以让您专注于按照您想要的方式编写代码,这样(正如 Joe Armstrong 关于 Erlang 的名言)您的代码就可以尽可能漂亮。专注于算法效率,如果您确实遇到性能障碍,请担心这样的细节。

关于javascript - javascript中对象键的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31385151/

相关文章:

javascript - Jest 测试涉及当前日期的函数

javascript - 将字符串转换为 shell 参数

ruby-on-rails - 如何查明是什么减慢了我的 Rails 应用程序

java - 关于用 Java 编写高性能服务器的读物

c++ - 有没有一种快速方法可以将所有 vector 值 'move' 移动 1 个位置?

javascript - 如何在 Firefox 插件中使用 JavaScript 访问命名管道?

javascript - 为什么这段代码会在 "strict mode"中抛出 undefined

Javascript 检查函数中 (this) 的长度

java - Java 中如何知道对象何时被释放?

java - 初始化套接字上的ObjectInputStream block