有哪些不同的遍历数组的方法?
主题
JavaScript
在GitHub上编辑
TL;DR
在 JavaScript 中,有几种遍历数组的方法。最常见的方法包括 for
循环、forEach
、map
、filter
、reduce
和 for...of
。每种方法都有其自身的用例。例如,for
循环用途广泛,可用于任何类型的迭代,而 forEach
专门用于对每个数组元素执行一个函数。map
用于转换数组,filter
用于过滤元素,reduce
用于累加值,而 for...of
用于遍历可迭代对象。
遍历数组的不同方法
For 循环
for
循环是遍历数组的最基本和最通用的方法之一。它允许你完全控制迭代过程。
const array = [1, 2, 3, 4, 5];for (let i = 0; i < array.length; i++) {console.log(array[i]);}
For...of 循环
for...of
循环是一种更现代、更易读的遍历数组和其他可迭代对象的方法。
const array = [1, 2, 3, 4, 5];for (const element of array) {console.log(element);}
forEach 方法
forEach
方法为每个数组元素执行提供的函数一次。
const array = [1, 2, 3, 4, 5];array.forEach((element) => {console.log(element);});
Map 方法
map
方法创建一个新数组,其中填充了在调用数组中的每个元素上调用提供的函数的结果。
const array = [1, 2, 3, 4, 5];const newArray = array.map((element) => element * 2);console.log(newArray); // [2, 4, 6, 8, 10]
Filter 方法
filter
方法创建一个新数组,其中包含通过提供的函数实现的测试的所有元素。
const array = [1, 2, 3, 4, 5];const filteredArray = array.filter((element) => element > 2);console.log(filteredArray); // [3, 4, 5]
Reduce 方法
reduce
方法对数组的每个元素执行一个 reducer 函数,最终得到一个单一的输出值。
const array = [1, 2, 3, 4, 5];const sum = array.reduce((accumulator, currentValue) => accumulator + currentValue,0,);console.log(sum); // 15