关于js中map和forEach的使用
在js的使用中,我们肯定少不了使用循环.但js中有二十多中循环,而我们通常使用for循环或者while循环.
for循环呢,功能很强,但是确实麻烦,今天给大伙说说同属于循环的map,在一些特定情况下,map还是非常方便且快捷的.
const arr=[1,2,3,4,5,6,7,8,9,10] const A =arr.map(value => value*3) console.log(A)//[3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
map 遍历数组每一个元素并调用回调,并返回一个包含所有结果的数组。
简单来说就是在原有数据的基础上执行函数,并将执行函数后的数据返回,形成一个新的数组.
还有一种就是forEach循环,他和map不同之处呢,是不需要声明一个新的数组来接收返回值,forEach直接作用于数组本身,在原数组上进行函数操作
也是在一些特定情况下十分的方便.在此就先不做演示了
说一个map和foreach的小故事,是我亲身经历的:
在学校学习前端时,遇到一个管理员系统,登录后需要清除掉登录密码,这里老师带着我们一起打的是使用的map,具体长这样:
const students=JSON.parse(data) students.map(value=>delete value.password)
我当时听的时候有点似懂非懂但看这代码大概说得过去,也没什么疑问,在我做课后复习的时候,到这里这个map我就感觉不太对劲了——为什么map这种会生成一个新数组的函数,可以不声明一个量来接受它并且还运行的没问题.
我也请教了老师,老师说此处forEach更好一些,可我还是对这个map有疑问,因为map在没有任何数组来接受它的情况下仍然改变了原数组,实现的效果和forEach一样.
有大佬清醒还请赐教!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通