js中filter和map的区别

介绍了这么多关于filter的内容,大家有没有发现filter和map在为数组中的每个元素调用一次 callback 函数,都是js数组的操作方法,那么filter和map有什么区别呢?其实区别就是filter会把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素,且数组元素不会发生改变。

1、filter

用于把Array的某些元素过滤掉,然后返回剩下的元素。

filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。

数组元素个数可能发生了改变,但是数组元素不会发生改变。

vararr=[1,2,3,4,5,6];
functionchecknum(num){
returnnum>=5;
}
varnarr=arr.filter(checknum);//结果:narr=[5,6]

2、map

按照原始数组元素顺序依次处理元素,返回一个新数组,数组中的元素为原始数组元素调用函数处理的后值。

数组元素个数不变,但是按照一定的条件转换,数组元素发生了变化。

letoldArr=[1,2];
letmyMethod=function(item){
returnitem*2;
};
letnewArr=oldArr.map(myMethod);
console.log(newArr.valueOf());//[2,4]
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容