首页 > 解决方案 > 如何在 js 对象中添加多个新属性?

问题描述

这个问题基于以下问题:

如何在Vue中更改对象的属性?

render() {
   const hash = {};
   this.orders.forEach(o => {
      hash[o.supplier_name] = hash[o.supplier_name] + 1 || 1;
   })
   const suppliers = Object.keys(hash).map(name => ({ name: name, num: hash[name] }))
   console.log(suppliers);
}

每个订单有 n 个项目。每个项目都有一个数量。

    [
        {
            "id": "54410f9d-b84a-4537-bc97-c312564f2a0d",
            "part_name": "1234",
            "part_number": "12345",
            "unit": "Stk.",
            "delivery_date": "13.01.2021",
            "supplier_id": "b3f2cced-1f61-48c2-9d30-ac7b09257a75",
            "supplier_name": "CNC AG",
            "supplier_stock": null,
            "confirmed": "2021-01-13T14:30:59.000000Z",
            "created_at": "13.01.2021",
            "confirmed_at": "13.01.2021 15:30",
            "confirmed_from": "John Doe",
            "time_to_confirm": 1.33,
            "delivery_time": null,
            "road_time": null,
            "items" : [
                {
                    "id": "54410f9d-b84a-4537-bc97-c3125ds4f2a0d",
                    "quantity": 5,
                },
                {
                    "id": "54410f9d-b84a-4537-bc97-cd12564f2a0d",
                    "quantity": 4,
                }
            ]
        }
    ]

最后,我喜欢:

{ name: <supplier name>, num: <number of orders>, numItems: <total number of items>, quantity: <total quantity of quantity in items>, averageNumItems: <average of items per order> }

我怎样才能得到最终的对象?

标签: javascript

解决方案


推荐阅读