reduce的用法

  对于js里面的数组的reduce方法以前是没有用过的,直到最近去看别人的代码的时候发现用的挺多的。所以在这里总结一下我碰到的情况。

基础

  reduce里面有两个参数function(total,currentValue, index,arr),{}其中第一个是回调函数,里面total就是初始值或者每次计算结束的返回值(必填),currentValue就是字面意思,每次循环运算当前值(必填),index每次下表(选填),arr指的是现在循环的数组(选填)。{}这一个代表total的初始值。

  由此我们可以对数据进行一些比如求和

1   let sum = array.reduce((preReturn,item)=>{
2          return preReturn+item
3      },0)

 

进阶

  reduce还可以把数组转化成对象,这在一些情况下十分的有用。比如这题在给定的数组中,找到出现次数最多的数字。出现次数相同时,返回数值最小的数字。

1 let obj = a.reduce((add,item)=>{
2             if(add[item]){
3                 add[item]++
4             }else {
5                 add[item] = 1
6             }
7             return add
8         },{})

  此处代码的作用是把数组转化成对象,键就是数组里面的值,值就是数组里面值出现的次数。我们然后再遍历对象就可以获得出现最多次的数。

 

posted @   爱吃猫的mouse  阅读(134)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示