map与filter、forEach的区别

1、map

map的用法和forEach差不多。但是map是有返回值的。但他的返回值是一个新数组。

map方法不改变原数组。是映射,即数组元素的映射。它提供一个回调函数,参数依次为处于当前循环的元素、该元素下标、数组本身,三者均可选。默认返回一个数组,这个新数组的每一个元素都是原数组元素执行了回调函数之后的返回值。

let arrA = [1,2,3]
let arrB = arrA.map(v,index,item => {
    return v*2
})
//arrA---->[1,2,3]
//arrB---->[2,4,6]

2、filter

filter,过滤,即对数组元素的一个条件筛选。它提供一个回调函数,参数依次为处于当前循环的元素、该元素下标、数组本身,三者均可选。默认返回一个数组,原数组的元素执行了回调函数之后返回值若为true,则会将这个元素放入返回的数组中。

let team = [
    {name:'张三', age:'21'},
    {name:'李四', age:'33'}
]
 
team.filter(v => {
    return v.name
})
//['张三','李四']
 
team.filter(v => {
    return v.age > 30
})
//[{name:'李四', age:'33'}]

3、forEach

forEach接收一个回调函数作为参数,而这个回调函数有接受三个参数,作为参数。item是每个元素,index元素在数组中的下标,arr数组本身。 没有返回值!

arr.forEach((item,index,arr)=>{
     //代码
})

你可能感兴趣的:(JS,java,前端,算法)