js数组根据同一id进行分组

比如一个数据如下

根据shop_id 相同 进行分组

            let orders = []
            goods.forEach((item, index) => {
                let has = orders.findIndex(o => o.shop_id === item.shop_id)
                if(has == -1) {
                    orders.push({
                        shop_id: item.shop_id,
                        goods: [item]
                    })
                } else {
                    orders[has].goods.push(item)
                }
            })

 得到的结果是

还可以按照shop_id计算出 goods数组中总数量 和 总金额

orders.forEach((item, index) => {
                orders[index].order_price = item.goods.reduce((total, v) => total += v.sell_number * v.price, 0)
                orders[index].order_number = item.goods.reduce((num, v) => num += v.sell_number, 0)
            })

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值