数组filter和map的区别以及注意事项

本文探讨了JavaScript中filter和map方法在处理数组时的行为差异。filter方法不会改变原数组的原子项,它根据条件过滤出新数组,而map则可以改变原子项,将每个元素转换为新的形式。在实际项目中,可以结合两者以实现更复杂的数组操作需求。
摘要由CSDN通过智能技术生成

1. filter做了一个过滤,返回的新数组并不会改变原子项。

例如:

	const data = [
        {
            label: 'aa',
            value: 1
        }, {
            label: 'bb',
            value: 2
        }
    ]
    const res = data.filter(item => {
        if (item.value === 2) {
            return item.label
        }
    })
    console.log(res);

在这里插入图片描述
通过上面结果,我们发现并没有返回value === 2对应的label bb,而是依然是个对象。
故:filter并不会改变原子项。

2. map做了一个映射,返回的新数组可以改变原来的原子项。

	const data = [
        {
            label: 'aa',
            value: 1
        }, {
            label: 'bb',
            value: 2
        }
    ]
    const res = data.map(item => {
        if (item.value === 2) {
            return item.label
        }
    })
    console.log(res);

在这里插入图片描述

因此,在项目中,我们可以filter和map结合来用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

. . . . .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值