📌  相关文章
📜  在 JavaScript 中循环遍历数组的最快方法是什么?

📅  最后修改于: 2022-05-13 01:56:31.156000             🧑  作者: Mango

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

JavaScript 有多种循环可用于执行迭代。 JavaScript 支持以下循环及其语法。

for 循环: for 循环包括变量初始化、变量求值条件和确定循环终止的表达式。它执行固定次数的迭代,因此必须在循环迭代次数已知的场景中使用。
对于常量,我们有以下类型的语法:

// for loop that performs 10k iterations
for (let i = 0; i < 10000; i++) {
    // Statements 
}

如果是数组:

// Loop that runs up til the length
// of the array 
for (i = 0; i < array.length; i++) {
    // Statements 
}

while 循环: while 循环在循环开始之前在外部执行初始化,然后验证条件,然后计算表达式。 while 循环继续执行,直到满足条件。
在数组的情况下循环,请遵循以下语法:

// Initialization 
let x = 0;


// Condition checking
while (x <= arr.length+1) {
    // Increment
    x += 1;
}

.forEach() 循环:数组的每个元素都受制于执行某些操作或任务的函数。该函数被指定为 JavaScript 中 forEach 方法的参数。它执行需要功能代码的高效任务。它基本上是一个高度依赖于内部执行的操作的回调函数。

// Evaluation is performed element
// wise of the array 
let arr = []                      
arr.forEach((ele) => { 
    // Statements
})                              

for...of 循环:这是 for 循环的新版本。此循环需要为数组的每个元素分配一个临时名称。在小数据集的情况下它运行得非常快。与传统的 for 循环相比,它更具可读性。它对 JavaScript 的内置迭代对象(如 String、Map、Set 和 Array)执行迭代。

for (let val of arr) {
    // Statements
}

JavaScript 中可用循环的性能比较:

  1. 在循环多次迭代的情况下,并且数组的大小太大,for循环是元素迭代最快的方法。
  2. While 循环在大型数组的情况下执行有效的缩放。
  3. 在功能代码的情况下,每个循环在优化时间的情况下表现更好。
  4. 在较小的迭代和较小的数据集或操作(偶尔使用)的情况下,forEach() 以更快的速度执行。
  5. for 循环的优化版本是模拟长度缓存,即存储数组长度以防止其重复计算。

因此,具有长度缓存替代方案的 for 循环主要是首选。