lodash 分组数组中的总和数量

Sum quantity in a lodash grouped array

提问人:Rafael Polonio 提问时间:1/24/2023 更新时间:1/24/2023 访问量:33

问:

我有一个groupedBy订阅lodash数组,我想对quantity属性求和并返回值。

{
  sub_1MT4LuP6DArCazGmEdJd: [
    {
      id: 'prod_HleWjM6culM',
      quantity: 1,
    },
    {
      id: 'prod_HleWjM6culM',
      quantity: 3,
    }
  ]
}

输出应为:

{
  sub_1MT4LuP6DArCazGmEdJd: [
    {
      totalQuantity: 4,
    },
  ]
}

在 lodash 分组数组中执行此值总和的最佳方法是什么?

JavaScript 节点.js lodash

评论


答:

0赞 Unmitigated 1/24/2023 #1

您可以使用 _.sumBy

let o = {
  sub_1MT4LuP6DArCazGmEdJd: [
    {
      id: 'prod_HleWjM6culM',
      quantity: 1,
    },
    {
      id: 'prod_HleWjM6culM',
      quantity: 3,
    }
  ]
};
o.sub_1MT4LuP6DArCazGmEdJd = [{totalQuantity:
  _.sumBy(o.sub_1MT4LuP6DArCazGmEdJd, 'quantity')}];
console.log(o);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>