📜  JavaScript 中 forEach() 和 map() 循环的区别(1)

📅  最后修改于: 2023-12-03 15:01:40.181000             🧑  作者: Mango

JavaScript 中 forEach() 和 map() 循环的区别

在 JavaScript 中,forEach()map() 是用于循环数组的两种常见方法。它们都可以遍历数组并对每个元素执行相应的操作,但是在一些方面有一些区别。

forEach()

forEach() 是一个数组方法,用于对数组的每个元素执行一个回调函数。它没有返回值,只是单纯地遍历数组并执行回调函数。

使用 forEach() 的语法如下:

array.forEach(function(currentValue, index, array) {
    // 执行操作
});
  • currentValue:当前遍历到的元素的值。
  • index:当前遍历到的元素的索引。
  • array:正在遍历的数组本身。

下面是一个使用 forEach() 的例子,它将打印数组中每个元素的值:

const array = [1, 2, 3];

array.forEach(function(element) {
    console.log(element);
});

输出结果:

1
2
3
map()

map() 是一个数组方法,类似于 forEach(),但是它会返回一个新的数组,这个数组包含了对原始数组的每个元素执行回调函数后的结果。

使用 map() 的语法如下:

const newArray = array.map(function(currentValue, index, array) {
    return // 返回新值
});
  • currentValue:当前遍历到的元素的值。
  • index:当前遍历到的元素的索引。
  • array:正在遍历的数组本身。

下面是一个使用 map() 的例子,它将将数组中的每个元素加倍,并返回一个新的数组:

const array = [1, 2, 3];

const newArray = array.map(function(element) {
    return element * 2;
});

console.log(newArray);

输出结果:

[2, 4, 6]
区别总结
  • forEach() 只是简单地对数组进行遍历操作,没有返回值。
  • map() 对数组中的每个元素执行回调函数,并返回一个新的数组。
  • forEach() 不修改原始数组,而 map() 返回一个新的修改后的数组。
  • map() 通常用于创建一个与原始数组结构相似但值有所改变的新数组。例如,可以使用 map() 将一个数组中的每个元素进行加工后生成一个新的数组。

希望这个介绍能够帮助你理解并正确使用 forEach()map() 这两种循环方法。