介绍了这么多关于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
暂无评论内容