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()。
亲手试试
这节课没有代码挑战。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
9高级数组方法
Join 和 Split 方法Map 方法Filter 方法Reduce 方法链式调用数组方法ForEach 和 Map 一样吗?Sort 方法Find 和 FindIndex 方法回顾:链式调用高手自己练习: JavaScript 在线编译器