foreach和map的区别
1、相同点
1) 都是循环遍历数组中的每一项。
2) 每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组)。
3) 匿名函数中的this都是指向window。
4)只能遍历数组。
2、不同点
1) map()会分配内存空间存储新数组并返回,forEach()不会返回数据。
2) forEach()允许callback更改原始数组的元素,map()返回新的数组,map() 不会对空数组进行检测。
二、forEach和map有相同值的区别
相同处:forEach 和 map都相当于封装好的单层for循环,三个值都相同。
不同处:
1、forEach()方法没有返回值,而map()方法有返回值。
2、forEach遍历通常都是直接引入当前遍历数组的内存地址,生成的数组的值发生变化,当前遍历的数组对应的值也会发生变化。
3、map遍历的后的数组通常都是生成一个新的数组,新的数组的值发生变化,当前遍历的数组值不会变化。
4、总的来说 map 的速度大于forEach。
三、使用场景
1. forEach适合于你并不打算改变数据的时候。
2. map()适用于你要改变数据值的时候。不仅仅在于它更快,而且返回一个新的数组。这样的优点在于你可以使用复合(composition)(map(), filter(), reduce()等组合使用)。
性能上来说for>forEach>map
foreach和map的区别相关推荐
- [JS] for-each和map()的区别
先说下for-each与for-of还有for-in的区别. for-of和for-in都是对对象操作的,而for-each和map()是对数组进行操作的. for-in的使用:对于一个数组里的每一个 ...
- JS数组中 forEach() 和 map() 的区别
JS数组中 forEach() 和 map() 的区别 Array中 Array.forEach()和 Array.map()方法之间的区别. forEach()和map()方法通常用于遍历Array ...
- vue forEach和map的区别
记录工作中遇到的问题,选择右边数组一项进行删除,forEach和map的区别就出来了 1.刚开始是foreach写的,效果没出来 this.rightTree:表示右边的数组this.oriFathe ...
- 数组中的forEach和map的区别
大多数情况下,我们都要对数组进行遍历,然后经常用到的两个方法就是forEach和map方法. 先来说说它们的共同点 相同点 都是循环遍历数组中的每一项 forEach和map方法里每次执行匿名函数都支 ...
- forEach 与 map 的区别
forEach(item, index,arr): 用于调用数组的每个元素,并将元素传递给回调函数 形象介绍: 假设一个数组,每个元素是一个人,你面前站了一排人 forEach 就是你按顺序一个一个跟 ...
- 原生JS forEach()和map()遍历的区别以及兼容写法
一.原生JS forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前 ...
- forEach、map、filter、some、every、find之间的区别
前言: 从一开始学了javascript中的for循环遍历方法,到后来了解到forEach.vue中的v-for.map等方法,经常会搞不清楚其中的区别,今天就来粗略的解释一下, for循环我就不说了 ...
- JS的forEach和map方法的区别
一.前言 forEach()和map()两个方法都是ECMA5中Array引进的新方法,主要作用是对数组的每个元素执行一次提供的函数,但是它们之间还是有区别的.jQuery也有一个方法$.each() ...
- forEach,map和filter的区别
forEach,map和filter的区别 这三种都是对数据进行循环的 听说for循环已经烂大街了所以我赶紧补习一下别的 1.forEach循环,循环数组中每一项并进行简单操作,没有返回值 let a ...
最新文章
- 单片机开发工程师需要学哪些,单片机工作的基本条件
- sql查询远程数据库的表的数据并填充到本地数据库的表
- cisco路由器灌IOS
- java都市男人心痒痒_说的男人心痒痒的情话 让男人心痒痒的话,谁能帮我弄几句呀?...
- GPUImageMovieWriter实现暂停录制,重新录制
- js课程 5-14 js如何实现控制动画角色走动
- Go: init()执行顺序问题
- linux怎么取消文件隐藏命令,Linux基础命令:显示隐藏的文件
- Android事件分发溯源详解
- 商品管理后台发布商品时,规格值组合的前端交互的实现逻辑
- UITableView知识梳理须知—(一)
- “滴血验癌”?昔日“女乔布斯”被控诈骗!身价估值从290亿元直降为0!或面临20年刑期...
- 基于 PostgreSQL 的 EMQ X Auth ACL
- 华为最强AI芯片麒麟980发布:全球首款7nm手机芯片,双核NPU,6项世界第一
- 分布式日志收集系统: Facebook Scribe之配置文件
- 测试化妆品真假软件,检验化妆品真假app怎么用
- HTML学习教程之终极篇
- 第四章网页文字编排设计
- 稻米之缘农耕稻作文化 国稻种芯-万祥军:影响中国历史走向?
- 运维人故障定责甩锅话语指南
热门文章
- 计算时间差(精确到毫秒)(getTime()方法)
- 快播活该被抓,跟公诉人是谁无关
- linux 主分区转换 lvm,求教linux下 主分区和逻辑分区之间如何转换
- 朴應南 退庵 焚其廬而出之
- 数据分析(二)之matplotlib绘制其他图形
- 一个4分钟0台词的动画片却虐哭317万网友!
- mysql自带的邮件发送功能_Python实现的查询mysql数据库并通过邮件发送信息功能...
- 电锯惊魂6果然让我失望了
- 【Unity2D好项目分享】用全是好活制作横版卷轴射击游戏①简单制作滚动卷轴以及玩家移动
- 使用git的心得感悟 杂烩