JS Array map和Array filter区别

总结:

Array.map可以理解为根据条件重新映射原数组,并得到新数组

而Array.filter则可以理解为根据条件过滤原数组,并得到新数组

也就是说,如果你想对每个原数组的元素进行修改,那么请使用map,如果你想对每个原数组的元素根据某些规则删除(该删除去掉某些元素,也就是过滤),请使用filter

它们都不会改变原生数组!

Array.map

JavaScript Array map() 方法

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

map() 方法按照原始数组元素顺序依次处理元素。

很简单,看实例:

var numbers = [4, 9, 16, 25];
function plusOne(num) {
    return num+1
}
numbers = numbers.map(plusOne)  
console.log('numbers: ', numbers);  //[5, 10, 17, 26]

妙用map:修改对象数组里的对象属性名

看懂了上面的map,其实并不难理解,其实就是重新映射而已

参考资料:https://blog.csdn.net/Wybbcc/article/details/107037225

在这里插入图片描述

filter(过滤)

其返回值是经过过滤后的数组

在这里插入图片描述

在这里插入图片描述

实例:

<script>

    debugger
    var ages = [32, 33, 12, 40];

    function checkAdult(age) {
        return age >= 18;
    }
	//调用checkAdult时,肯定是对数组的每个元素进行比较,
	//所以形参传入的肯定是每一个age
    let afterFilter = ages.filter(checkAdult);
    console.log(afterFilter)    //[32, 33, 40]


</script>

使用箭头函数重写上例:

<script>

    debugger
    var ages = [32, 33, 12, 40];

    let afterFilter = ages.filter((age) => {
        return age >= 18;
    });
    console.log("使用箭头函数:" + afterFilter)    //[32, 33, 40]

</script>

参考资料

菜鸟教程,w3school

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值