zoukankan      html  css  js  c++  java
  • 接口返回回来的数据是一个数组,里面有同年同月,需要把同年同月的合并到一个数组里面并且把相同年月的数据放到子数组中

    接口返回回来的数据是这样的格式:

    [{
        "payType": "06",
        "paymentDate": "2018-06-02 22:41:17",
        "staffappprem": "99.80",
        "paymentDateCode": "99",
        "payTypeName": "第三方支付",
        "yearMonth": "2018年6月",
        "date": "06-02",
        "time": "22:41:17",
        "price": "99.80",
        "resource": "第三方支付",
        "other": "其他"
    }, {
        "payType": "06",
        "paymentDate": "2018-06-02 22:41:17",
        "staffappprem": "0.20",
        "paymentDateCode": "99",
        "payTypeName": "第三方支付",
        "yearMonth": "2018年6月",
        "date": "06-02",
        "time": "22:41:17",
        "price": "0.20",
        "resource": "第三方支付",
        "other": "其他"
    }, {
        "payType": "06",
        "paymentDate": "2018-04-02 17:46:00",
        "staffappprem": "99.80",
        "paymentDateCode": "99",
        "payTypeName": "第三方支付",
        "yearMonth": "2018年4月",
        "date": "04-02",
        "time": "17:46:00",
        "price": "99.80",
        "resource": "第三方支付",
        "other": "其他"
    }, {
        "payType": "06",
        "paymentDate": "2018-04-02 17:46:00",
        "staffappprem": "0.20",
        "paymentDateCode": "99",
        "payTypeName": "第三方支付",
        "yearMonth": "2018年4月",
        "date": "04-02",
        "time": "17:46:00",
        "price": "0.20",
        "resource": "第三方支付",
        "other": "其他"
    }, {
        "payType": "06",
        "paymentDate": "2018-03-02 07:55:41",
        "staffappprem": "99.80",
        "paymentDateCode": "99",
        "payTypeName": "第三方支付",
        "yearMonth": "2018年3月",
        "date": "03-02",
        "time": "07:55:41",
        "price": "99.80",
        "resource": "第三方支付",
        "other": "其他"
    }, {
        "payType": "06",
        "paymentDate": "2018-03-02 07:55:41",
        "staffappprem": "0.20",
        "paymentDateCode": "99",
        "payTypeName": "第三方支付",
        "yearMonth": "2018年3月",
        "date": "03-02",
        "time": "07:55:41",
        "price": "0.20",
        "resource": "第三方支付",
        "other": "其他"
    }]

    需要对上方数据做处理的逻辑代码:

    var formatData = {
        mainList: []
    };
    for (var i = 0; i < oCapHistoryinfo.length; i++) {
        var num = formatData.mainList.length;
        var date = oCapHistoryinfo[i].yearMonth;
        if (num > 0 && !!formatData.mainList[num - 1].date && formatData.mainList[num - 1].date == date) {
            formatData.mainList[num - 1].itemList.push(oCapHistoryinfo[i]);
        } else {
            var item = {
                date: date,
                itemList: []
            };
            item.itemList.push(oCapHistoryinfo[i]);
            formatData.mainList.push(item);
        }
    }
    console.log('arr', JSON.stringify(formatData))

    处理后的代码:

    {
        "mainList": [{
            "date": "2018年6月",
            "itemList": [{
                "payType": "06",
                "paymentDate": "2018-06-02 22:41:17",
                "staffappprem": "99.80",
                "paymentDateCode": "99",
                "payTypeName": "第三方支付",
                "yearMonth": "2018年6月",
                "date": "06-02",
                "time": "22:41:17",
                "price": "99.80",
                "resource": "第三方支付",
                "other": "其他"
            },
            {
                "payType": "06",
                "paymentDate": "2018-06-02 22:41:17",
                "staffappprem": "0.20",
                "paymentDateCode": "99",
                "payTypeName": "第三方支付",
                "yearMonth": "2018年6月",
                "date": "06-02",
                "time": "22:41:17",
                "price": "0.20",
                "resource": "第三方支付",
                "other": "其他"
            }]
        },
        {
            "date": "2018年4月",
            "itemList": [{
                "payType": "06",
                "paymentDate": "2018-04-02 17:46:00",
                "staffappprem": "99.80",
                "paymentDateCode": "99",
                "payTypeName": "第三方支付",
                "yearMonth": "2018年4月",
                "date": "04-02",
                "time": "17:46:00",
                "price": "99.80",
                "resource": "第三方支付",
                "other": "其他"
            },
            {
                "payType": "06",
                "paymentDate": "2018-04-02 17:46:00",
                "staffappprem": "0.20",
                "paymentDateCode": "99",
                "payTypeName": "第三方支付",
                "yearMonth": "2018年4月",
                "date": "04-02",
                "time": "17:46:00",
                "price": "0.20",
                "resource": "第三方支付",
                "other": "其他"
            }]
        },
        {
            "date": "2018年3月",
            "itemList": [{
                "payType": "06",
                "paymentDate": "2018-03-02 07:55:41",
                "staffappprem": "99.80",
                "paymentDateCode": "99",
                "payTypeName": "第三方支付",
                "yearMonth": "2018年3月",
                "date": "03-02",
                "time": "07:55:41",
                "price": "99.80",
                "resource": "第三方支付",
                "other": "其他"
            },
            {
                "payType": "06",
                "paymentDate": "2018-03-02 07:55:41",
                "staffappprem": "0.20",
                "paymentDateCode": "99",
                "payTypeName": "第三方支付",
                "yearMonth": "2018年3月",
                "date": "03-02",
                "time": "07:55:41",
                "price": "0.20",
                "resource": "第三方支付",
                "other": "其他"
            }]
        }]
    }
  • 相关阅读:
    Java HashMap 和 ConcurrentHashMap
    递归算法应用
    二叉树基础知识
    自动删除qq空间说说
    移动APP测试的22条军规--笔记
    SQL Server数据库状态监控
    SqlSugar-事务操作
    详解第一范式、第二范式、第三范式、BCNF范式
    SQL 日期
    2019年世界各国gdp排名对比
  • 原文地址:https://www.cnblogs.com/suntao666/p/9253720.html
Copyright © 2011-2022 走看看