当前位置: 首页 > 面试题库 >

将HTMLCollection转换为数组的最有效方法

戚兴邦
2023-03-14
问题内容

除了遍历所述集合的内容并将每个项目手动推入数组之外,是否有更有效的方法将HTMLCollection转换为数组?


问题答案:

var arr = Array.prototype.slice.call( htmlCollection )

使用“本地”代码将具有相同的效果。

编辑

由于这有很多观点,请注意(按@oriol的评论),以下更简洁的表达 实际上 等效:

var arr = [].slice.call(htmlCollection);

但是,请注意@JussiR的注释,它与“冗长的”形式不同,它确实在该过程中创建了一个空的,未使用的,实际上是不可用的数组实例。编译器对此所做的工作超出了程序员的范围。

编辑

从ECMAScript 2015(ES 6)开始,还有Array.from :

var arr = Array.from(htmlCollection);

编辑

ECMAScript 2015还提供了散布运算符,其功能等效于Array.from(尽管请注意,它Array.from支持将映射功能作为第二个参数)。

var arr = [...htmlCollection];

我已经确认上述两项工作都在上进行NodeList



 类似资料:
  • 问题内容: 我有2节课 A: 和B: 以及一些相当大的A对象数组。 我想转换到有效。我知道几种方法可以做到这一点: AFAIK 1最有效。但是使用Java 8功能,可以使其更短。2与1几乎相同,但循环由stream代替。不确定它的有效性。3是最短的方法,但是默认收集器使用默认构造函数,这意味着如果我们有很大的初始数组,则将至少一次调整in中的数组大小。因此它不是那么有效。和4,据我了解(虽然从未使

  • 问题内容: 我正在使用MySQLdb和Python。我有一些基本的查询,例如: 我需要“结果”作为NumPy数组,并且我希望在内存消耗方面节省成本。似乎逐行复制数据效率极低(将需要两倍的内存)。有没有更好的方法将MySQLdb查询结果转换为NumPy数组格式? 我之所以要使用NumPy数组格式,是因为我希望能够轻松地对数据进行切片和切块,在这方面,python对多维数组似乎并不友好。 谢谢! 问题

  • 问题内容: 将单个char传递给需要CharSequence的方法的最有效方法是什么? 这就是我得到的: 根据此处给出的答案,在输入为字符数组的情况下,这是一种明智的做法。我想知道是否可以在单字符案例中应用偷偷摸摸的快捷方式。 问题答案: textView.setText(String.valueOf(c))

  • 问题内容: 有很多方法可以将String转换为Integer对象。以下哪项是最有效的: 我的用例需要创建包装器Integer对象……这意味着没有原始的int……并且转换后的数据用于只读。 问题答案: 甚至不要浪费时间考虑它。只需选择一个看起来与其余代码相符的代码即可(其他转换是否使用.parse __()或.valueOf()方法?使用该方法来保持一致)。 试图确定哪个是“最佳”,这会使您的注意力

  • 问题内容: 说我有: 现在,我要将int值转换为String。哪种方法更有效? 我只是好奇是否有真正的区别,或者一个比另一个更好? 问题答案: 测试了10m分配的数字10 一个似乎赢了 编辑:JVM是Mac OS X 10.5下的标准’/ usr / bin / java’ 更多编辑: 要求的代码 情况2和3同样 使用

  • 有没有一种方法可以直接将集合转换为字符串(而不需要先将集合转换为数组)?我看过Mozilla的文档,我觉得这可能是一种方法。我就是这么做的: