首页 > 其他分享 >arr.reduce()用法

arr.reduce()用法

时间:2022-11-20 00:44:09浏览次数:37  
标签:arr reduce 用法 item add let total

1. 语法:reduce(function(total,currentValue, index,arr){},{})

  reduce接收两个参数,第一个参数是函数,第二个参数是第一个参数中total的初始值
  (1) 第一个参数 function 中

    total就是初始值或者每次计算结束的返回值(必填)

    currentValue就是字面意思,每次循环运算当前值(必填)

    index每次下标(选填)

    arr指的是现在循环的数组(选填)
  (2) 第二个参数是第一个参数中total的初始值

2. 用法

  (1) 数组求和

let arr = [1,2,3,4,5]

let total = arr.reduce((total, item) => {
   return total += item
}, 0)

console.log(total) // 15

  (2) 数组去重

let arr = [1,2,3,3,3,3,4,4,4,5]

let newArr = arr.reduce((all, item) => {
   if (!all.includes(item)){
      all.push(item)
   }
   return all
}, [])

console.log(newArr) // (5) [1, 2, 3, 4, 5]

  (3) 统计数组或者字符串中出现的次数

let arr = [1,2,3,3,3,3,4,4,4,5]

let obj = arr.reduce((add, item) => {
  if (add[item]) {
    add[item] ++
  } else {
    add[item] = 1
  }
  return add
}, {})
console.log(obj) // {1: 1, 2: 1, 3: 4, 4: 3, 5: 1}

 

标签:arr,reduce,用法,item,add,let,total
From: https://www.cnblogs.com/liql/p/16907652.html

相关文章

  • html mailto 用法
    HTML mailto用法<ahref=mailto:[email protected]>sendemail</a>或者<formaction="mailto:[email protected]">   ...</form>mailto后跟的是......
  • XOR Sum of Arrays
    section>ProblemStatementForsequences$B=(B_1,B_2,\dots,B_M)$and$C=(C_1,C_2,\dots,C_M)$,eachoflength$M$,consistingofnon-negativeintegers,lettheX......
  • F - Subarrays题解
    F-Subarrays题意:给你一个序列,问这个序列里有多少个子串的和能被k整除。思路:求前缀和,然后每个位置对k取模,模数相等的位置之间,是一个满足条件的字串。因为求的是前缀和,......
  • shared_ptr的get用法
    转自:https://blog.shipengx.com/archives/4094be86.html,讲的非常全面1.std::shared_ptr::getelement_type*get()constnoexcept; 获取指针,存储的指针指向 shared_......
  • C++11中using的用法学习
    转自:https://blog.csdn.net/shift_wwx/article/details/787424591.命名空间usingnamespacestd;//最常见的用法2.在子类中引入基类的成员当private继承时,可以通过usin......
  • 108. Convert Sorted Array to Binary Search Tree
    Givenanarraywhereelementsaresortedinascendingorder,convertittoaheightbalancedBST. classSolution{    publicTreeNodesortedArrayToBST(......
  • JavaScript对象_Array和JavaScript对象_Date
    JavaScript对象_Array:Array:数组对象1.创建:1.vararr=newArray(元素列表);2.vararr=newArray(默认长度);3.vararr=[元素列表];2.方法join(参数):将数组中......
  • Initialize all elements of an array to same value in C/C++
    UsingDesignatedInitializers//ordon'tspecifythesizeintarr[]={[0...4]=1};Usingstd::fill_nfunctionFinally,wecanusestd::fill_ninC++,......
  • arc136D Without Carry 题解
    这阵子没一道题能自己想出来,开道黄题以下找找信心qwq又一道比C简单的D。题意:给出\(n\)个\(6\)位及以下数字,问有几对数字的和在十进制下无进位。\(n\leq10^6\)......
  • java——集合——List集合——ArrayList集合
                                                  ArrayList集合Arr......