zoukankan      html  css  js  c++  java
  • js 数组对象的相同值相加合并

    let arr = [
    {commodity_id:1,quantity:10,amount:20},
    {commodity_id:1,quantity:5,amount:10},
    {commodity_id:2,quantity:10,amount:50}]
    mergeMap(arr) {
    // js数组对象相同值相加,不同添加
        var newArr = [];
        arr.forEach(item => {
            var dataItem = item;
            if (newArr.length > 0) {
                var filterValue = newArr.filter(v => {
                    return v.commodity_id == dataItem.commodity_id
                })
                if (filterValue.length > 0) {
                    newArr.forEach(n => {
                        if (n.commodity_id == filterValue[0].commodity_id) {
                            n.quantity = filterValue[0].quantity + dataItem.quantity;
                            n.amount = filterValue[0].amount + dataItem.amount;
                        }
                    })
                } else {
                    newArr.push(dataItem)
                }
            } else {
                newArr.push(dataItem)
            }
    
        });
        return newArr
    },
    
    console.log(mergeMap(arr))
    

      

  • 相关阅读:
    数据库优化
    List,map,Set区别
    ID选择器
    最简单的添加删除行操作
    JQ2
    最简单的JQ实现
    20180416
    一行细分的HTML写法
    out参数的使用
    结构的使用
  • 原文地址:https://www.cnblogs.com/znht/p/13884925.html
Copyright © 2011-2022 走看看