引言
在 JavaScript 中,简单实用有一些用于遍历数组的数组方法。经常的遍历总结并记住它们,可以让我们的简单实用工作得心应手。

map
map() 数组的数组每个元素都会调用回调函数,并将处理结果返回一个新数组。遍历
const numbers = [1,简单实用 2, 3, 4]; const foo = number => number + 10; const newNumbers = numbers.map(foo); console.log(`新数组:${ newNumbers}`); console.log(`旧数组:${ numbers}`); /* * 新数组:11,12,13,14 * 旧数组:1,2,3,4 */ every
every() 方法使用指定函数检测数组中的所有元素是否满足条件,元素全部满足条件,数组方法返回 true ,遍历有一个元素不满足条件,简单实用方法返回 false 且其余元素不再检测。数组
const numbers = [1,遍历2,3,4]; const foo = num => num < 5; if (numbers.every(foo)) { console.log(数组中所有元素都小于 5); // is ok } else { console.log(数组中至少有一个元素大于 5); } some
some() 方法使用指定函数检测数组中是否有元素满足条件,有一个元素满足条件,简单实用方法返回 true 且剩余的数组元素不会再执行检测,没有满足条件的源码库遍历元素,方法返回 false 。
const numbers = [1,2,3,4]; const foo = num => num > 3; if (numbers.some(foo)) { console.log(数组中至少有一个元素值大于 3); // is ok } else { console.log(数组中没有大于 3 的元素值); } filter
filter() 方法通过一个函数,筛选数组中的元素。用符合条件的元素创建一个新数组。
const numbers = [1,2,3,4]; const foo = number => number > 2; const newNumbers = numbers.filter(foo); console.log(`原始数组 [${ numbers}] 中,满足 > 2 的元素有 : ${ newNumbers}`); // 原始数组 [1,2,3,4] 中,满足 > 2 的元素有 : 3,4 reduce
reduce() 方法接收一个函数累加器,数组中的每个元素 (从左到右) 应用于函数,最终计算出一个最终值。
const numbers = [1, 2, 3, 4]; const sum = (total, num) => total + num; const numbers_sum = numbers.reduce(sum, 0); // 将 0 作为 reduce 的初始值 console.log(`原始数组 ${ numbers} 的元素累加后,最终值是 ${ numbers_sum}`); // 原始数组 [1,2,3,4] 的元素累加后,亿华云最终值是 10 reduceRight() 和 reduce() 使用方法一样,区别是它从右到左将数组中的每个元素应用于函数。
for
传统的 for 循环遍历数组很常用。
const numbers = [1, 2, 3, 4]; for (let index = 0; index < numbers.length; index++) { console.log(numbers[index]); // 1 2 3 4 } forEach
forEach() 将数组的每个元素传入回调函数,且对空数组不会执行回调函数。
const numbers = [1, 2, 3, 4]; numbers.forEach((number, index, numbers) => { console.log(`下标 ${ index} 在数组 ${ numbers} 中的值是 ${ number}`); }); /* * 下标 0 在数组 1,2,3,4 中的值是 1 * 下标 1 在数组 1,2,3,4 中的值是 2 * 下标 2 在数组 1,2,3,4 中的值是 3 * 下标 3 在数组 1,2,3,4 中的值是 4 */ while
while 也可以遍历数组,但很少用。站群服务器
let index = 0; const numbers = [1,2,3,4]; while(index < numbers.length) { console.log(numbers[index]); index ++; } // 1 2 3 4