访问对象中数据的复杂性

2023-12-29

在我日常工作的一些项目中,我需要访问非常大的 JS 对象中的数据(大约数千个键值对)。我正在努力提高代码的效率,所以我提出了几个问题:

  1. 当访问这样一个对象中的字段时,JS 的运行时复杂度是多少?我最初的预感是 O(n)
  2. 通过点表示法和括号表示法访问有区别吗? (例如。obj.field vs obj[field])
  3. 我猜不同的运行时引擎有不同的答案 - 有没有地方可以看到它们之间的区别?

Javascript对象实际上是哈希,所以复杂度是O(1)适用于所有发动机。

obj.field是一个别名obj['field'],所以他们有相同的表现。

你可以找到一些JS哈希性能测试here https://stackoverflow.com/a/12255071/2968562,不幸的是仅适用于您的浏览器引擎。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问对象中数据的复杂性 的相关文章

随机推荐

  • 找不到 JDBC 驱动程序

    try String userName root String password
  • 带 setter 的 mapState

    我想通过分配setter方法mapState 我目前使用一种解决方法 命名我感兴趣的变量 todo 作为临时名称 storetodo 然后在另一个计算变量中引用它todo methods mapMutations clearTodo upd
  • EBNF 转义字符

    我正在尝试为基于 python 的伪语言制作字符串的语法表达式 我想知道如何执行以下操作 字符串以 或 开头或结尾 它可以包含除 n 之外的任何字符 仅当另一个反斜杠开头时才能包含这些字符 例如 Mark said Boo n 公认 我只能
  • 使用 Rails 3 和远程设计 => true

    我在使用 AJAX 登录设备时遇到问题 我正在使用 remote gt true选项和 javascript 帮助程序的 jQuery 版本 https github com rails jquery ujs 当用户输入正确的信息时 会话视
  • 不使用 IFrame 的原因?

    有什么原因吗not到底要使用 iframe 吗 我目前使用它从不同的服务器加载页面 注册页面 分布式应用程序的一部分 以提供无缝体验 使用 iframe 被认为是不好的做法还是可以使用 iframe 是一个很棒的工具 它享有近乎通用的浏览器
  • 如何在 pandas 中用滚动平均值填充 nan 值

    我有一个数据框 其中几个地方包含 nan 值 我正在尝试执行数据清理 其中我用前五个实例的平均值填充 nan 值 为此 我提出了以下建议 input data frame var list fillna input data frame v
  • 如何使用 Xamarin.UITest 在 iOS 上访问照片所需的权限对话框中点击“确定”按钮?

    我正在使用 Xamarin UITest 在 iOS 应用程序上执行自动化 问题是 在访问图库上传照片时 出现一个权限对话框 我需要点击 确定 按钮将其关闭 我尝试过以下方法 但没有成功 使用树命令不会显示该对话框的层次结构 因此我 无法找
  • 抛出 BufferError 的示例

    在阅读 Python 3 3 文档时 我注意到有关 BufferError 异常的条目 当无法执行与缓冲区相关的操作时引发 现在我想知道在什么情况下代码可能会抛出此错误 以确定它是由于编程错误还是更像是某种系统错误 有人有这个例外的例子吗
  • 结构错误找不到记录器“paramiko.transport”的处理程序

    我不确定为什么会收到此错误并终止我的连接 我通过 easy install 从 1 7 5 更新了 paramiko 1 7 6 我正在尝试设置 Fabric 以将 Django 应用程序上传到我的服务器 当我尝试备份现有应用程序目录时 似
  • 将 DOM 元素创建到集合的项目中

    尝试从模板创建 DOM 元素 gota 首先我创建模板 function htmlToElement html var template document createElement template template innerHTML
  • 前端控制器与外观模式

    好的 我在网上做了一些搜索 发现this http www coderanch com t 100644 OO Patterns UML Refactoring Difference between Facade Front Control
  • 子树将主树合并到分支中: -s recursive -Xsubtree=?

    In the git book https git scm com book en v2 Git Tools Advanced Merging 子树合并 部分 它说 您也可以做相反的事情 进行更改rackmaster 分支的子目录 然后将它
  • 从浏览器缓存中删除单个文件

    我的页面中有一张图像 该图像缓存在浏览器中 现在我已经删除了图像 但是因为它已被缓存 所以请求不会发送到服务器 并且它会再次出现 那么如何从浏览器缓存中删除它呢 不 您无法物理删除缓存文件 相反 您可以动态生成文件的链接 例如 并最终用不同
  • 如何在 Windows 8 / 2012 中左对齐窗口标题?

    有没有办法 本质上 在 Windows 8 或 2012 计算机中左对齐窗口标题 Window 8 或 2012 中的窗口标题水平居中对齐 我们有一个移植到 Windows 8 2012 计算机的 WPF 应用程序 我们正在与几个客户一起测
  • 为什么我在 ~/.m2 下找不到我的 settings.xml?

    为什么我找不到我的设置 xml under m2 注意 我当前正在运行 Apache Maven3 3 9在我的机器上 settings xml 文件可能存在于两个位置 Maven 安装 maven home conf settings x
  • 多种条件提前停止

    我正在为推荐系统 项目推荐 进行多类分类 并且我目前正在使用sparse categorical crossentropy损失 因此 合理执行EarlyStopping通过监控我的验证损失 val loss像这样 tf keras call
  • 将 TFS 2010 中的源、标签和历史记录从根文件夹移动到分支

    我遇到了一个情况 我不确定是否可以解决 我最近开始组建一个从未使用过任何类型的版本控制系统的新团队 并且我们的组织使用 TFS 作为标准 我以前从未使用过 经过多次恳求 我让管理员为我在服务器上的现有代码创建一个 TFS 项目 并且由于我的
  • 如何使用 php 生成 .xlsx

    我需要生成一个带有扩展名的 Excel 文件 xlsx 这是我的简单代码 file test xlsx header Content Type application vnd openxmlformats officedocument sp
  • UITextView行间距导致段落行之间的光标高度不同

    我在用着NSMutableParagraphStyle in my UITextview用于在每行文本之间添加行间距 当我在文本视图中输入内容时 光标高度是正常的 但是当我将光标位置移动到第二行 不是最后一行 上的文本时 光标高度变得更大
  • 访问对象中数据的复杂性

    在我日常工作的一些项目中 我需要访问非常大的 JS 对象中的数据 大约数千个键值对 我正在努力提高代码的效率 所以我提出了几个问题 当访问这样一个对象中的字段时 JS 的运行时复杂度是多少 我最初的预感是 O n 通过点表示法和括号表示法访