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


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

    [{
        "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": "其他"
            }]
        }]
    }
  • 相关阅读:
    luogu 5311 [Ynoi2011]D1T3 动态点分治+树状数组
    LOJ #6145. 「2017 山东三轮集训 Day7」Easy 点分树+线段树
    BZOJ 2117: [2010国家集训队]Crash的旅游计划 动态点分治+二分
    BZOJ 1095: [ZJOI2007]Hide 捉迷藏 动态点分治+堆
    BZOJ 3924: [Zjoi2015]幻想乡战略游戏 动态点分治
    luogu 3241 [HNOI2015]开店 动态点分治+二分+vector
    luogu 2993 [FJOI2014]最短路径树问题 Dijkstra+点分治
    BZOJ 3697: 采药人的路径 点分治
    启动elasticsearch报错的几种原因及解决方法
    SpringBoot与MybatisPlus3.X整合示例(十六)
  • 原文地址:https://www.cnblogs.com/suntao666/p/9253720.html
Copyright © 2020-2023  润新知