js中forEach、filter、map的区别

forEach、filter、map都可以遍历数组,那么三者有什么区别?

区别:

1.forEach遍历数组全部元素,利用回调函数对数组进行操作,不会返回新的数组,return只用于控制循环是否跳出当前循环;
filter返回一个新的数组,filter方法需要在循环的时候判断一下是true还是false,是true才会返回这个元素;
map根据当前数组映射出一个新的数组,返回新的被改变过值之后的数组,需要return。

2.forEach主要用于改变当前数组里面的值,比如:

 let arrOne = [
        {name:'小明', age: 14},
        {name:'小华', age: 11},
        {name:'小红', age: 15},
        {name:'小黄', age: 17},
    ]
    arrOne.forEach(item => {
        item.name =  item.name + 'update'
    })
    console.log(arrOne)

在这里插入图片描述
filter主要用于过滤当前数组,找出符合条件的元素,返回一个新的数组,不会改变原数组比如:

let arrOne = [
        {name:'小明', age: 14},
        {name:'小华', age: 11},
        {name:'小红', age: 15},
        {name:'小黄', age: 17},
    ]
    let arrNew = arrOne.filter(item => {
        return item.age > 11
    })
    console.log(arrOne)
    console.log(arrNew)

在这里插入图片描述
map则可以改变当前循环的值,返回一个新的被改变过值之后的数组,一般用来处理需要修改某一个数组的值。

 let arrOne = [
        {name:'小明', age: 14},
        {name:'小华', age: 11},
        {name:'小红', age: 15},
        {name:'小黄', age: 17},
    ]
    let arrNew = arrOne.map(item => {
        return item.age + 10
    })
    console.log(arrOne)
    console.log(arrNew)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值