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

在JavaScript中遍历数组的最快方法是什么?

邹禄
2023-03-14
问题内容

我从书中得知,您应该为循环编写这样的代码:

for(var i=0, len=arr.length; i < len; i++){
    // blah blah
}

因此arr.length不会每次都计算。

其他人则说编译器会对此做一些优化,因此您可以编写:

for(var i=0; i < arr.length; i++){
    // blah blah
}

我只想知道哪种是最佳实践?


问题答案:

在使用大多数现代浏览器执行此测试之后…

http://jsben.ch/dyM52

当前,最快的循环形式(我认为在语法上最明显)。

具有长度缓存的循环的标准

for (var i = 0, len = myArray.length; i < len; i++) {

}

我想肯定的是,我为JavaScript引擎开发人员鼓掌。应该优化运行时间以提高 清晰度而不是聪明



 类似资料:
  • 问题内容: 在Java中,您可以使用for循环遍历数组中的对象,如下所示: 您可以在JavaScript中做同样的事情吗? 问题答案: 您有几种选择: 1.顺序for循环: 优点 适用于各种环境 您可以使用和流控制语句 缺点 太冗长 势在必行 容易出现一对一的错误(有时也称为栅栏错误) 2. Array.prototype.forEach ES5规范引入了许多有益的数组方法,其中之一是,它为我们提

  • 问题内容: 目前,我正在使用类似: 我对这种方法不是很满意,因为它会创建大量数组(可以包含一本书)。 有没有更好的解决方案来迭代a的行? 问题答案: 您可以使用: 并使用方法:

  • 问题内容: 如何使用JavaScript遍历数组中的所有条目? 我以为是这样的: 我的数组在哪里,但这似乎是不正确的。 问题答案: TL; DR 除非你将其与防护措施配合使用,或者至少知道它为什么会咬住你,否则请勿使用。 通常最好的选择是 一个环(ES2015 +只), (| )(或其亲戚等)(仅适用于ES5 +), 一个简单的老式循环, 或有保障。 但是,还有 很多 更多的探索,阅读… Java

  • 问题内容: 我想按顺序对数据帧中的财务数据执行自己的复杂操作。 例如,我正在使用以下来自的 MSFT CSV文件: 然后,我执行以下操作: 那是最有效的方法吗?考虑到对熊猫速度的关注,我认为必须有一些特殊的函数来迭代这些值,使它们也可以检索索引(可能通过生成器来提高内存效率)?不幸的是,只能逐列进行迭代。 问题答案: 熊猫的最新版本现在包括用于遍历行的内置函数。 或者,如果你想更快地使用它 但是,

  • 问题内容: 我正在尝试创建一个Java程序来清理和合并表中的行。该表很大,大约有50万行,而我当前的解决方案运行得非常慢。我要做的第一件事就是简单地获得一个内存中的对象数组,这些对象表示表的所有行。这是我在做什么: 一次选择说1000行的增量 使用JDBC在以下SQL查询中获取结果集SELECT * FROM TABLE WHERE ID> 0 AND ID <1000 将结果数据添加到内存数组中

  • 本文向大家介绍thinkPHP中多维数组的遍历方法,包括了thinkPHP中多维数组的遍历方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkPHP中多维数组的遍历方法。分享给大家供大家参考,具体如下: 更多关于thinkPHP相关内容可查看本站专题:《ThinkPHP入门教程》及《ThinkPHP常用方法总结》 希望本文所述对大家基于thinkPHP框架的PHP程序设计有所帮助