【前端知识之JS】reduce()方法与使用

本文介绍了JavaScript中的reduce()方法,包括其定义、参数解析和一个实际例子。reduce()方法作为forEach()的进阶操作,常用于数组元素的累加或其他操作,将处理后的结果整合成新的值。举例说明了如何使用reduce()进行数组元素的相加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、reduce是什么?

  1. 定义:reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
  2. 语法array.reduce(function(total,currentValue,currentIndex,arr),initialValue)
  3. 参数
    total:必须,初始值,或者是计算结束后的返回值;
    currentValue:必须,当前元素;
    currentIndex:可选,当前元素的索引;
    arr:可选,当前元素所属的数组对象,
    initialValue:可选,传递给函数的初始值。
  4. 进一步解释:就是对于array中的数字,都传递到function函数中,其中function函数的第一项就是初始值,也是要进行操作的结果,第二项是当前array中的数字。

二、举例子

// 计算数组元素的相加和
var numbers = [65, 44, 12, 4];
 
function getSum(total, num) {
    return total + num;
}
function myFunction(item) {
    document.getElementById("demo").innerHTML = numbers.reduce(getSum);
}

总结

其实,reduce()也是forEach()的进阶操作,为遍历以后的数字提供了一个做操作的空间,最长遇到的操作就是相加,其实也可以作为数组的添加,就是把一个数组中的元素,做一些操作后,再放到一个新的数组中。
举例:

newarr = oldarr.reduce((prev,item)=>{
  if(item.id){                   //如果item中有id这个属性
    const [attrId,valueId] = item.id.split(":")  // 就提取id中有用的数据
    prev.push({attrId,valueId})          // 重新组合,存到prev中
  }
  return prev           //返回的prev被newarr接收
},[])                   //prev的初始值是空数组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值