关于数组filter()、map()、reduce()三个高阶函数的简介

本文通俗解释了JavaScript中filter(), map(), reduce()三个核心函数的用途和实现方式。filter()作为筛选器,用于从数组中选取满足条件的元素;map()作为处理器,用于对数组元素进行转换处理;reduce()则作为一个高级汇总器,常用于数组的聚合操作,如去重。通过实例代码,展示了这三个函数在实际问题中的应用。
摘要由CSDN通过智能技术生成

filter()函数:

核心概念相当于一个"筛选器"。

需要定义一个筛选函数,用于筛选数组中满足条件的数据。

例:

需求:筛选数组中大于10的数字

 实现代码:

  const nums = [1, 2, 6, 18, 11, 3]  

  let newNums = nums.filter(function(n){
    return n > 10
  }
  )

map()函数:

核心概念相当于一个"处理器"。

需要定义一个处理函数,用于处理数组中的数据并且返回。

例:

需求:将数组中的数据扩大两倍

实现代码:

const nums = [1, 2, 3, 8, 5]

let newNums = nums.map(function(n) {
    return n*2
})

reduce()函数:

核心概念相当于一个"高级汇总器"。

需要定义一个汇总器,并且给一个初始化参数,汇总完之后返回汇总数组。

例:

需求:将数组中的数据去重

实现代码:

const nums = [1, 2, 3, 2, 4, 3, 8]

let newNums = nums.reduce(function(pre, crr){
  if(!pre.includes(crr)) {
    return pre.concat(crr)
  }
  else {
    return pre
  }
}, []}

稍作讲解:一开始将pre初始化为[ ],即空数组。后面将符合条件的crr同pre相连接。最后返回符合条件的数组,即去重的数组。

PS: 此处只是通俗易解地讲解了filter(), map(), reduce() 这三个函数的作用以及运用,若要深入理解,请自行查看其它深入的讲解或者函数源码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_52242662

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值