首页 > web前端 > js教程 > JavaScript 的 `forEach()` 和 `map()` 方法之间的主要区别是什么?

JavaScript 的 `forEach()` 和 `map()` 方法之间的主要区别是什么?

Mary-Kate Olsen
发布: 2024-12-20 05:38:13
原创
439 人浏览过

What's the Key Difference Between JavaScript's `forEach()` and `map()` Methods?

理解 JavaScript 中 .forEach() 和 .map() 之间的差异

超越 .forEach() 操作的主要区别原始数组,而 .map() 创建新数组,需要考虑细微差别。所提供的代码中对此进行了示例:

function practice(i) {
  return i + 1;
}

var a = [-1, 0, 1, 2, 3, 4, 5];
var b = [0];
var c = [0];
console.log(a);
b = a.forEach(practice);
console.log("=====");
console.log(a);
console.log(b);
c = a.map(practice);
console.log("=====");
console.log(a);
console.log(c);
登录后复制

输出:

[-1, 0, 1, 2, 3, 4, 5]
=====
[-1, 0, 1, 2, 3, 4, 5]
undefined
=====
[-1, 0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6]
登录后复制

解释:

  • forEach():这个方法迭代数组中的每个元素,但不返回值。在示例中,a.forEach(practice) 对“a”中的每个元素执行practice 函数,但结果(未定义)未分配给“b”。因此,'b' 保持不变。
  • map(): 此方法通过转换原始数组中的每个元素来创建一个新数组。在示例中,a.map(practice) 将练习函数应用于“a”中的每个元素,并返回具有转换后的值的新数组“c”。

主要区别:

  • 返回值: forEach() 不返回任何内容,而map() 创建一个新数组。
  • 操作: forEach() 迭代并执行副作用,而 map() 迭代并转换。
  • 副作用: forEach() 可以通过回调函数对原始数组进行变异,而 map() 只对

在 JavaScript 中选择适当的数组操作方法时,理解这些差异至关重要。

以上是JavaScript 的 `forEach()` 和 `map()` 方法之间的主要区别是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板