跳到主要内容

数组方法

迭代器方法

forEach()

forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。

forEach()在调用这个函数时会给它传 3 个参数:数组元素的、数组元素的索引和数组本身

forEach(callbackFn);
forEach(callbackFn, thisArg);
// 箭头函数
forEach((element) => {
/* … */
});
forEach((element, index) => {
/* … */
});
forEach((element, index, array) => {
/* … */
});
const arr = [1, 2, 3];

arr.forEach((v, i, a) => (a[i] = v + 1));

console.log(arr); //2,3,4

注意forEach()并未提供一种提前终止迭代的方式(break等),若需要提前终止循环,可以使用 forfor...of/in等。

map()

在 JavaScript 数组方法中,map()函数用于对数组中的每个元素进行操作,并返回一个新的数组,新数组的元素是对原数组元素应用某个函数后的结果。

map()函数的语法如下:

array.map(function (currentValue, index, array) {
// 对每个元素进行操作的函数
}, thisValue);
  • currentValue:当前正在处理的元素。
  • index(可选):当前元素在数组中的索引。
  • array(可选):调用 map()方法的数组。
  • thisValue(可选):传递给函数的 this值。

下面是一个使用 map()函数的例子,将一个数组中的每个元素都乘以 2,并返回新的数组:

const numbers = [1, 2, 3, 4, 5];

const doubledNumbers = numbers.map(function (number) {
return number * 2;
});

console.log(doubledNumbers); // 输出 [2, 4, 6, 8, 10]

箭头函数版本:

const numbers = [1, 2, 3, 4, 5];

const doubledNumbers = numbers.map((number) => number * 2);

console.log(doubledNumbers); // 输出 [2, 4, 6, 8, 10]