zoukankan      html  css  js  c++  java
  • js中reduce() 方法使用

    reduce

    reduce()方法接收一个函数作为累加器,reduce 为数组中的每一个元素依次执行回调函数,接受四个参数:初始值(上次回调得返回值),当前元素值,当前索引,原数组 。

    参数 function(total,currentValue,currentIndex,arr);

    // total  必需。初始值,或者计算结束后得返回值。
    // currentValue  必需。当前元素。
    // currentIndex  可选。当前元素得索引
    // arr 可选。当前元素所属的数组对象。
    
    
    // initialValue 可选,传递给函数的初始值。

    应用

    var orderDetail=[
    {Id:1,name:"产品A",total:50 },
    {Id:2,name:"产品B",total:20 },
    {Id:3,name:"产品C",total:30 }
    ];
    
    var sum=orderDetail.reduce(function(total,currentValue,currentIndex,arr){
         return total=total+currentValue.total;
    },0)
    
    console.log(sum); // 100
     

    以上回调被调用3次 。

    callbak

    total

    currentValue

    currentIndex

    arr

     return

    第一次

    0

    {Id:1,name:"产品A",total:50}

    0

    [{Id:1,name:"产品A",total:50 }, {Id:2,name:"产品B",total:20 },
    {Id:3,name:"产品C",total:30 }]

     50

    第二次

    50

     {Id:2,name:"产品B",total:20}

    1

     

    [{Id:1,name:"产品A",total:50 }, {Id:2,name:"产品B",total:20 },
    {Id:3,name:"产品C",total:30 }]

     70

    第三次

    70

     {Id:3,name:"产品C",total:30}

    2

     

    [{Id:1,name:"产品A",total:50 }, {Id:2,name:"产品B",total:20 },
    {Id:3,name:"产品C",total:30 }]

     100

  • 相关阅读:
    清空DB
    C#生成PDF
    C#程序打包发布
    用C#实现生成PDF文档的方法
    SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的比较
    如何在DataGridView中实现下拉列表可变的联动
    TreeList控件实现数据过滤功能
    SQL函数大全
    远程链接调用sql脚本
    gb2312简繁转换js兼容各种浏览器
  • 原文地址:https://www.cnblogs.com/xiaofeixiaa/p/13262918.html
Copyright © 2011-2022 走看看