Menu
CoddyTech

ForEach 和 Map 一样吗?

本课属于 Coddy JavaScript 学习旅程的“逻辑与流程”单元。第 56 课,共 65 课。

forEach() 和 map() 都是用于迭代的数组方法,但它们的用途不同,行为也各不相同:

forEach():

  • 对数组中的每个元素执行一次提供的函数。
  • 不会创建新数组。
  • 返回 undefined。
  • 不能与其他数组方法链式调用。

map():

  • 对数组中的每个元素调用给定函数,并用调用结果创建一个新数组。
  • 返回一个与原数组长度相同的新数组。
  • 可以与其他数组方法链接使用。

示例:

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

// forEach
numbers.forEach(num => console.log(num * 2));
// 输出:2, 4, 6, 8
// 返回:undefined
// map
const doubled = numbers.map(num => num * 2);
console.log(doubled);
// 输出:[2, 4, 6, 8]
// 返回:一个新数组 [2, 4, 6, 8]

如果你想对每个元素执行操作,但不创建新数组,请使用 forEach()。如果你想转换每个元素,并用结果创建一个新数组,请使用 map()。

亲手试试

这节课没有代码挑战。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: JavaScript 在线编译器