当前位置: 首页 > news >正文

描述一下 Array.forEach() 循环和 Array.map() 方法之间的主要区别

Array.forEach() 和 Array.map() 都是 JavaScript 数组中常用的方法,但它们之间有一些重要的区别:

返回值:forEach():没有返回值,它只是对数组中的每个元素执行提供的函数。map():返回一个新的数组,其元素是通过对原数组的每个元素执行提供的函数后的结果。内部实现:forEach():只是遍历数组,执行回调函数,不会改变原数组。map():会创建一个新的数组,并将回调函数的返回值填充到新数组中,原数组不会被改变。常见用途:forEach():适用于需要对数组元素执行某些操作,但不需要返回新数组的情况,例如打印数组元素、更新 DOM 等。map():适用于需要基于原数组创建新数组的情况,例如数组转换、数据预处理等。链式调用:forEach():由于没有返回值,因此不能够在 forEach() 之后直接链式调用其他数组方法。map():由于返回一个新数组,因此可以在 map() 之后继续链式调用其他数组方法,如 filter()、reduce() 等。

举个例子,假设有一个数组 [1, 2, 3, 4, 5],使用 forEach() 将其每个元素乘以 2:


const arr = [1, 2, 3, 4, 5];
arr.forEach(num => console.log(num * 2)); // 输出 2 4 6 8 10

而使用 map() 将其每个元素乘以 2 并返回一个新数组:

const arr = [1, 2, 3, 4, 5];
const doubledArr = arr.map(num => num * 2); // doubledArr 为 [2, 4, 6, 8, 10]

forEach() 和 map() 都是非常有用的数组方法,但在具体使用时需要根据需求来选择合适的方法。

http://www.lryc.cn/news/362475.html

相关文章:

  • 在GEE中显示矢量或栅格数据的边界(包含样式设计)
  • django使用fetch上传文件
  • linux安装docker步骤
  • Unity DOTS技术(一)简介
  • 深度解读ChatGPT基本原理
  • python实现——分类类型数据挖掘任务(图形识别分类任务)
  • 【安卓跨进程通信IPC】-- Binder
  • 大数据之Schedule调度错误(一)
  • DiffIR论文阅读笔记
  • prometheus+alertmanager+webhook钉钉机器人告警
  • ctfshow 年CTF web
  • 原型链、闭包、手写一个闭包函数、 闭包有哪些优缺点、原型链继承
  • linux中SSH_ASKPASS全局变量的作用
  • 9 -力扣高频 SQL 50 题(基础版)
  • TCP的重传机制
  • pg 数据库,获取时间字段值的具体小时,赋值给其他字段
  • 做视频号小店什么类目最容易爆单?其实,弄懂这三点就会选品了
  • Nginx作为下载站点
  • vue3简单快速实现主题切换功能
  • 国联易安:网络反不正当竞争,要防患于未然
  • Linux 网络配置 01
  • 快速入门C++正则表达式
  • java —— 缓冲字符输入流/缓冲字符输出流
  • blender从视频中动作捕捉,绑定到人物模型
  • 掘金滑块验证码安全升级,继续破解
  • 数据结构练习题——Java实现
  • 行为设计模式之状态模式
  • 找回以前的视频:技术与实践3个指南
  • GCN 代码解析(一) for pytorch
  • 2024年云计算、信号处理与网络技术国际学术会议(ICCCSPNT 2024)