map,forEach,filter的认识

这三者都牵扯到回调函数,先解释一下回调函数就是:A函数作为B函数的参数,那么A函数就是回调函数。
好,接下来依次介绍一下这三者:
1、map();映射
1)先看一段简单的代码及结果:
在这里插入图片描述
在这里插入图片描述
2)上面两张图片可以看出map函数并不会改变原始数组,会在原始数组基础上做一些加工,结果会存放在新的数组中。
3)参数:回调函数(开头有解释);fn 中就是对原始数组进行加工的操作。
4)返回值:加工后的新数组。
5)上图中函数 fn 的参数:第一位代表数组中每个元素;第二位代表数组元素的下标;第三位就是数组本身;用不到的参数可以不写,起名是自己起的。

2、forEach();遍历
1)关于forEach的HTML和结果:
在这里插入图片描述
在这里插入图片描述

2)可以从结果看到当打印res的时候,控制台出现了一个 undefined,意味着并没有产生新数组,而操作的结果仍然显示在arr里,只是改变了原始数组。
3)参数:回调函数(开头有解释);fn 中就是对原始数组进行加工的操作。
4)返回值:原始数组。
5)操作仍然是元素加1,用了下标来写的。

3、filter();过滤
1)代码及结果图:
在这里插入图片描述
在这里插入图片描述
2)上图中可以看到是两者都有在控制台输出数组的,说明filter()操作也是产生了新数组,并且不会改变原始数组。
3)参数:回调函数(开头有解释);fn 中就是对原始数组进行过滤的操作。
4)返回值:加工后的新数组。
5)操作:是将原有数组的元素中符合条件 item>=3 的元素过滤出来,放在新的数组中。

4、关于三者的小总结:
1)三者都会对原始数组内部进行遍历;
2)三者的参数都是 回调函数;
3)map()对原始数组加工会放在一个新数组中,不会改变原始数组,且新数组的元素个数和原始数组相一致;
4)filter()对原始数组中满足条件的选出来,放在一个新数组中,不会改变原始数组,但其新数组元素个数小于等于原始数组;
5)forEach()对原始数组进行的操作结果是反映在原始数组上的,所以原始数组经过forEach()后就相当于变成了一个新数组,其元素个数不变。

以上就是我对三者的认识,欢迎一起学习指正,感谢查阅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值