【发布时间】:2020-10-09 08:36:07
【问题描述】:
在我的 vue 应用程序中,有一个带有未结采购订单的列表。每个订单都有一个供应商名称。
我喜欢生成一个包含所有供应商名称和他们拥有的未结采购订单数量的列表。
使用 lodash,我可以生成供应商列表:
computed: {
menuItems: function () {
let mappedItems = this.partsToOrder.map(function (parts) {
return { supplierName: parts.supplier_name, supplierId: parts.supplier_id }
})
return _.uniqWith(mappedItems)
}
},
如何添加每个供应商的商品数量?这意味着,如果供应商有两个未结订单,我希望将供应商名称与项目数 (2) 放在一起,如下所示:
{supplierName: 'Tech Ltd.', numOrders: 2}
【问题讨论】:
-
您想对数组进行分组吗?按供应商名称?
-
是的,没错。这就是我需要的
-
我为问题编辑了标签,这与 vue 无关,它只是关于 Javascript :)
-
_.map(_.countBy(data, "supplierName"), (val, key) => ({ supplierName: key, numOrders: val }))...来自这个答案:stackoverflow.com/a/44649268/3545099
标签: javascript lodash