JavaScript - filter(), map() and reduce()

很久很久没有写过了,毫无tension。。。

1. Filter()

创建一个新的array,过滤命中条件的元素

2. Map()

创建一个新的array,将每个元素都按输入的条件进行变更

3. Reduce()

迭代的减少array内的元素数量

 

const arr = [1, 2, 3, 4, 5]
arr.filter(a => a % 2 === 0) //新array [2, 4]
arr.map(a => a = a  * a) // 新array [1, 4, 9, 16, 25]
arr.reduce((num1, num2) => num1 + num2) // [15]

可以叠加
arr.filter(a => a % 2 === 0).map(a => a = a*a) // 新array [4, 16]

 

花式用法

const users = [
{
   userId: 1,
   age: 18
},
{
   userId: 2,
   age: 20
}
]

users.map(user => user.age).filter(user => user > 18) // output [20]

  

posted @ 2020-02-05 23:36  森淼clover  阅读(166)  评论(0编辑  收藏  举报