将 JavaScript NodeList 转换为数组的最快方法?

2024-01-15

之前在这里回答过的问题说这是最快的方法:

//nl is a NodeList
var arr = Array.prototype.slice.call(nl);

在我的浏览器上进行基准测试时,我发现它比这个慢 3 倍以上:

var arr = [];
for(var i = 0, n; n = nl[i]; ++i) arr.push(n);

它们都产生相同的输出,但我发现很难相信我的第二个版本是最快的方法,特别是因为人们在这里另有说法。

这是我的浏览器(Chromium 6)中的一个怪癖吗?或者有更快的方法吗?


借助 ES6,我们现在可以通过一种简单的方法从 NodeList 创建数组:Array.from() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from功能。

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

将 JavaScript NodeList 转换为数组的最快方法? 的相关文章

  • 在哪里可以找到 Java 数组的源代码? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在哪里可以找到java数组的源代码 Example double arr new double 20
  • 在 Internet Explorer 中使用什么来监视 jscript 内存使用情况

    我们正在调试 GWT 应用程序 在 Firefox 中运行正常 在 IE6 0 中开始运行正常 但一段时间后 它就会崩溃并开始爬行 经过一些测试后 我们怀疑存在一些内存问题 使用了太多内存 内存泄漏等 除了使用taskmanager和pro
  • 如何计算伽罗瓦域上的numpy数组?

    我想在伽罗华域 GF4 上使用 numpy 数组 所以 我将 GF4 类设置为数组元素 它适用于数组 整数计算 但不适用于数组 数组计算 import numpy class GF4 object class for galois fiel
  • 从函数返回函数的目的是什么?

    阅读一些遗留代码 发现 A prototype setSize function var v1 new Vector2 return function size var halfSize v1 copy size multiplyScala
  • 位置特征检测:固定

    我正在尝试找到一个脚本来检测设备是否放置position fixed元素相对于视口而不是整个文档 目前 标准桌面浏览器和 Mobile Safari 适用于 iOS 5 都是这样做的 而 Android 设备则相对于整个文档放置固定元素 我
  • 使用 Node.js 构建网站的最佳实践

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我想知道如何使用 Node js 从头开始 开发一个网站 我明白我怎么能possibly
  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • 为什么 setTimeout 在 Chrome 中触发两次,而在 IE 或 Firefox 中则不然?

    有人能告诉我为什么 javascript 函数 生成新号码 在 Chrome 中触发两次 但在 IE 或 Firefox 中则不会 使用 Chrome 20 0 1132 57 IE9 和 Firefox 13
  • 按第一列排序二维数组,然后按第二列排序

    int arrs 1 100 11 22 1 11 2 12 Arrays sort arrs a b gt a 0 b 0 上面的数组已排序为 1 100 1 11 2 12 11 22 我希望它们按以下方式排序a 0 b 0 首先 如果
  • JavaScript 中的 Promise 有什么意义?

    一个承诺是一个 可能现在可用 或将来可用 或永远不可用的值 来源 MDN 假设我有一个想要处理图片的应用程序 图片已加载 例如在算法在后台使用它之后 或某种其他类型的延迟 现在我想检查一下图片是否可以在future 通过使用承诺 而不是回调
  • JavaScript推送函数中的动态变量

    我在 JavaScript 中使用推送功能 var chartData for var i 0 i lt 3 i chartData push date new Date year s mon s date s hr s min s sec
  • 如何使用 Javascript 设置查询字符串

    有没有办法使用 javascript 设置查询字符串的值 我的页面有一个过滤器列表 单击该列表时 它将更改右侧的页内结果窗格 我正在尝试更新 url 的查询字符串值 因此如果用户离开页面 然后单击 后退 按钮 他们将返回到最后一个过滤器选择
  • suhosin.mt_srand.ignore 在 PHP 中一致洗牌数组的解决方法?

    我有一个 PHP 脚本 需要随机化一个具有一致结果的数组 这样它就可以向用户呈现前几个项目 然后如果他们愿意 他们可以从同一个打乱的集合中提取更多结果 我目前使用的是这个 基于我相信的 Fisher Yates 算法 function sh
  • 改变 JavaScript 中的顶部填充

    以下是我在 css 中设置顶部填充的方法 body font size font size px margin 0 padding 100px 0 20px 0 width 100 important 如何使用最简单的 javascript
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 用于选择特定 div 中具有特定类的锚元素的 jQuery 选择器是什么

    我有一些这样的代码 我想选择每个 a 带有类的标签status在 div 中foo div a class status a div 你可以这样做 foo find status a
  • 使用 Jade 评估自定义 javascript 方法 (CircularJSON)

    我想通过 Jade 将一个对象解析为客户端 JavaScript 通常这会起作用 script var object JSON parse JSON stringify object but my object is circular ht
  • 在 iOS 7 Safari 中,如何区分通过边缘滑动与后退/前进按钮的 popstate 事件?

    在 iOS 7 Safari 中 现在有两种后退 前进导航方式 使用底部的传统后退 前进按钮箭头或从屏幕边缘滑动 我正在使用动画在 ajax 应用程序中的页面之间进行转换 但如果用户通过边缘滑动进行导航 我不想触发该转换 因为这本身就是一个
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 测量窗口偏移

    有没有一种方法可以测量 jQuery 中窗口的偏移量 以便我可以比较 固定 元素和相对定位元素的位置 我需要能够知道窗口滚动了多远 以便我可以使用该图来计算固定元素的高度 相对于视口顶部 和相对对象的高度 相对于顶部 之间的差异文件的内容

随机推荐

  • SlidingPaneLayout 上的单击事件

    我正在尝试使用 SlidingPaneLayout 左视图是ListFragment 右视图是详细视图 布局显示正确 我可以滑动它 但是 如果详细视图位于列表前面并且我单击它 则后台中的列表会收到单击 我的布局如下所示
  • 使用下划线将两个键和值数组合并到一个对象

    给定两个数组 一个包含键 一个包含值 keys foo bar qux values 1 2 3 你如何将它转换为一个对象 仅使用 underscore js 方法 foo 1 bar 2 qux 3 我不是在寻找简单的 javascrip
  • Google 地图在模拟器上显示,但在设备上不显示

    我编写了一个基本的地图应用程序 可以使用 AndroidStudio 轻松实例化 唯一的区别是片段加载到另一个自定义布局中 package com wayl activities import android os Bundle impor
  • 将表单输入值作为对象列表从 JSP 页面传递到 Servlet

    这里有一个简化的 不是现实世界 的例子 假设有一个领域模型 一个类Movie 其中有演员列表 一类Actor具有三个字段 name 出生日期 角色数量 以下代码是此场景的说明 电影 java public class Movie some
  • Java - 带重音符号的 InetSocketAddress 主机名

    我在与主机名中包含一些重音符号 的服务器建立连接时遇到问题 例如 String oUrl www h tel fr System out println oUrl InetSocketAddress isa new InetSocketAd
  • 无法在 React 的类中使用 const

    我正在关注这个教程 https nickymeuleman netlify com blog gatsby pagination navigate to previousnext page https nickymeuleman netli
  • 无法将匿名方法转换为类型“System.Delegate”,因为它不是委托类型

    我想在 WPF 应用程序的主线程上执行此代码并收到错误 我无法弄清楚出了什么问题 private void AddLog string logItem this Dispatcher BeginInvoke delegate this Lo
  • 具有内部属性的 JSON 序列化器对象

    我有一些带有一些内部属性的类 我也想将它们序列化为 json 我怎样才能做到这一点 例如 public class Foo internal int num1 get set internal double num2 get set pub
  • 构建目录是否应该提交到版本控制项目中?

    我正在对我的项目进行版本控制 我已使用 src 目录提交项目源代码 我的问题是 使用版本控制时是否应该提交我的 build 目录 有时称为 dist 或 bin 具体取决于应用程序 请在您给出的答案中解释原因 提前致谢 除非你专门使用git
  • 防止点击事件时浏览器弹出

    在基于 jquery mobile 的 Web 应用程序中 我如何防止默认浏览器菜单在 点击按住 时显示 相反 我想显示自定义对话框页面 下面提到的是我现在的代码 task row bind taphold function event u
  • Java - 如何将此字符串转换为日期?

    我从服务器收到此信息 但我不明白 T 和 Z 的含义 2012 08 24T09 59 59Z将此字符串转换为 Date 对象的正确 SimpleDateFormat 模式是什么 This is ISO 8601 http www w3 o
  • 如何使用 Python 更快地处理图像?

    我试图编写一个脚本来检测屏幕上的 RGB 值 然后单击 x y 值 我知道如何执行单击 但我需要比下面的代码当前处理图像的速度快得多 这可以用Python实现吗 到目前为止 我一次读取一行 当 x 1920 时 我进入第二行 但完成一行大约
  • WPF 淡入淡出动画

    当控件变得可见时 如何使其淡入 淡出 以下是我失败的尝试
  • 数学(在 WPF 中):平移后获取新的 x,y 坐标

    参考这个编程游戏 https stackoverflow com questions 505040 developing a robocode type game with net for a school assignment我目前正在建
  • MultiLevel ExpandableListView 未正确突出显示

    我正在创建一个自定义ExpandableListView使用教程发现支持三个级别here http androidcodesnips blogspot com 2011 09 three level expandable list html
  • 使用 jcifs 定义的超时不起作用

    我已将responseTimeout和soTimeout设置为15000ms 但我仍然得到 90000ms 后超时 我在 v1 3 18 和 v1 3 17 上对此进行了测试 当我不注册 jcifs 时 会发生 HttpURLConnect
  • Google 应用引擎 QR 码解码器

    我想知道是否有一个好的Python库来解码QR码 基本上我想要的是提供带有二维码的库图像 并且库将输出保存在图像中的内容 您是否已经看过 http pyqrcode sourceforge net http pyqrcode sourcef
  • TOAD 脚本中的变量

    我有一个正在 TOAD 中执行的 SQL 脚本 目前 我只是用一个又一个的语句来排列它 因此 select such and such from somewhere delete other thing from somewhere els
  • C# 在哪里添加方法

    我对 C 很陌生 一天前才开始 我必须做一个简单的 C 数据库 其中包含音乐专辑等 我遇到的问题是我无法调用我刚刚执行的方法 任何人都可以帮助我在 main 中包含这个方法吗 void addnew int ID currid string
  • 将 JavaScript NodeList 转换为数组的最快方法?

    之前在这里回答过的问题说这是最快的方法 nl is a NodeList var arr Array prototype slice call nl 在我的浏览器上进行基准测试时 我发现它比这个慢 3 倍以上 var arr for var