最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 分组求和(JavaScript)

    正文概述 掘金(dare to dream)   2021-03-06   894

    最近项目中有一个需求是后端返回的数据是所有的,但是产品需要的数据是需要分组并且进行计算求和的,既然如此,那我们就自定义一个分组求和吧,小二,上代码!!!

    // 数组分组求和
      let groupSum = {
        groupBy: function (array, callback) {
          return new Promise((resolve) => {
            let groups = {};
            array.forEach(item => {
              let group = JSON.stringify(callback(item));
              groups[group] = groups[group] || [];
              groups[group].push(item);
            });
            let res = Object.keys(groups).map(group => {
              return groups[group];
            });
            resolve(res)
          })
        },
        getSum: function (arr,bykey) {
          return new Promise((resolve) => {
            let res = this.groupBy(arr, function (item) {
              return item.shopId
            }).then(res => {
              console.log(res)
              let resultSum = res.map(item => {
                let sum = item.reduce((total, curr) => {
                  return total + curr[bykey]
                }, 0);
                return sum
              })
              return resultSum
            })
            resolve(res)
          })
        }
      }
      let testArr = [
        { shopId: 1, shopName: '测试', money: 0, },
        { shopId: 2, shopName: '123', money: 1 },
        { shopId: 1, shopName: '测试', money: 2 },
        { shopId: 1, shopName: '测试', money: 3 },
        { shopId: 2, shopName: '123', money: 4 },
        { shopId: 1, shopName: '测试', money: 5 },
        { shopId: 2, shopName: '123', money: 6 },
      ]
      groupSum.getSum(testArr,'money').then(res => {
        console.log(res)
      }).catch(err => {
        console.log(err)
      })
    

    起源地下载网 » 分组求和(JavaScript)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元