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]