forEach、filter、map都可以遍历数组,那么三者有什么区别?
区别
1、forEach遍历数组全部元素,利用回调函数对数组进行操作,不会返回新的数组,return只用于控制循环是否跳出当前循环;
2、filter返回一个新的数组,filter方法需要在循环的时候判断一下是true还是false,是true才会返回这个元素;
3、map根据当前数组映射出一个新的数组,返回新的被改变过值之后的数组,需要return。
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(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(arrNew)
注意只返回了age而没有返回name