js reduce 累加器#

1,013 阅读1分钟

定义

作用

用法

var numbers = [15.5, 2.3, 1.1, 4.7];
 
function getSum(total, num) {
    return total + Math.round(num);
}
function myFunction(item) {
    document.getElementById("demo").innerHTML = numbers.reduce(getSum, 0);
}
  1. arr 表示将要原数组;

  2. prev 表示上一次调用回调时的返回值,或者初始值 init;

  3. cur 表示当前正在处理的数组元素;

  4. index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;

  5. init 表示初始值。这个参数只是了返回值的类型,当没有的时候,arr[0]为默认值

  6. 常用的参数只有两个:prev 和 cur。

let names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];

let nameNum = names.reduce((pre,cur)=>{
//pre 是{}
  if(cur in pre){
    pre[cur]++
  }else{
    pre[cur] = 1 
  }
  return pre
},{})
console.log(nameNum); //{Alice: 2, Bob: 1, Tiff: 1, Bruce: 1}
 const slots = Object.keys(this.$slots)
        .reduce((arr, key) => arr.concat(this.$slots[key]), [])
        
    
 var a ={wo: 'laoren', shi:'bupa', foxi:'amtf'} 
 const res = Object.keys(a).reduce((arr, key) => arr.concat(a[key]),[])
 >>> ["laoren", "bupa", "amtf"]