`.map()` 和 `.forEach()` 都是 JavaScript 数组的方法,用于遍历数组...
`.map()` 和 `.forEach()` 都是 JavaScript 数组的方法,用于遍历数组并对每个元素执行相应的操作。它们之间的区别在于返回值和使用方式上有所不同。
1. `.forEach()`
- `.forEach()` 方法是数组的原生方法,它接受一个回调函数作为参数,并对数组中的每个元素执行该回调函数。
- `.forEach()` 方法没有返回值,它只是遍历数组并对每个元素执行回调函数。
- 回调函数接受三个参数:当前元素的值、当前元素的索引和正在遍历的数组本身。
- `.forEach()` 方法会按照数组的顺序依次遍历每个元素,不能中途跳出循环。
以下是一个使用 `.forEach()` 方法的示例代码:
const arr = [1, 2, 3, 4, 5]; arr.forEach((num, index) => { console.log(`元素 ${num} 的索引是 ${index}`); });
在上述示例中,`.forEach()` 方法遍历数组 `arr` 的每个元素,并将元素的值和索引打印到控制台。
2. `.map()`
- `.map()` 方法也接受一个回调函数作为参数,并对数组中的每个元素执行该回调函数。
- `.map()` 方法返回一个新的数组,该数组包含回调函数的返回值,即对原数组中每个元素进行操作后的结果。
- 回调函数的参数和使用方式与 `.forEach()` 方法相同。
- `.map()` 方法会按照数组的顺序依次遍历每个元素,并将每个元素经过回调函数处理后的结果存储在新数组中。
以下是一个使用 `.map()` 方法的示例代码:
const arr = [1, 2, 3, 4, 5]; const newArr = arr.map((num, index) => { return num * 2; }); console.log(newArr); // 输出 [2, 4, 6, 8, 10]
在上述示例中,`.map()` 方法遍历数组 `arr` 的每个元素,并将每个元素乘以 2 的结果存储在新数组 `newArr` 中。
总结:
- `.forEach()` 方法没有返回值,仅用于遍历数组并执行操作。
- `.map()` 方法返回一个新数组,其中包含对原数组每个元素进行操作后的结果。
根据具体的需求,你可以选择使用 `.forEach()` 或 `.map()` 方法来遍历数组并执行相应的操作。