浅仓〆小星 2019-06-06 00:58 采纳率: 0%
浏览 732
已采纳

账单列表如何将年份月份一样的排在一起

array:[{

                "amount":5000,

                "goodsInfo":"翡翠城租金",

                "tradeTime":"2019-04-20"

            },

            {

                "amount":1200,

                "goodsInfo":"五联西苑租金",

                "tradeTime":"2019-04-25"

            },

            {

                "amount":200,

                "goodsInfo":"爱与家宾馆",

                "tradeTime":"2019-04-30"

            },

            {

                "amount":3800,

                "goodsInfo":"丁香花园",

                "tradeTime":"2019-05-20"

            },

            {

                "amount":2500,

                "goodsInfo":"滨兴小区",

                "tradeTime":"2019-05-28"

            },

            {

                "amount":2800,

                "goodsInfo":"滨苑小区",

                "tradeTime":"2019-06-08"

            }]

我从后台拿到一组数据是如果这样的,我要怎么提取出年份月份一样的,将其排在一起变成像下面那个数组,后面有效果图

newArray:[

                {

                    "tradeTime":[

                        {

                            "amount":5000,

                            "goodsInfo":"翡翠城租金",

                            "tradeTime":"2019-04-20"

                        },

                        {

                            "amount":1200,

                            "goodsInfo":"五联西苑租金",

                            "tradeTime":"2019-04-25"

                        },

                        {

                            "amount":200,

                            "goodsInfo":"爱与家宾馆",

                            "tradeTime":"2019-04-30"

                        }

                    ]

                },

                {

                    "tradeTime":[

                        {

                            "amount":3800,

                            "goodsInfo":"丁香花园",

                            "tradeTime":"2019-05-20"

                        },

                        {

                            "amount":2500,

                            "goodsInfo":"滨兴小区",

                            "tradeTime":"2019-05-28"

                        }

                    ]

                },

                {

                    "tradeTime":[

                        {

                            "amount":2800,

                            "goodsInfo":"滨苑小区",

                            "tradeTime":"2019-06-08"

                        }

                    ]

                }

            ]![图片说明](https://img-ask.csdn.net/upload/201906/06/1559753903_651534.png)
  • 写回答

2条回答 默认 最新

  • _陌默 2019-06-06 09:39
    关注

    我写了一个函数你可以看一下:

    var arr = [{
    
                    "amount": 5000,
    
                    "goodsInfo": "翡翠城租金",
    
                    "tradeTime": "2019-04-20"
    
                },
    
                {
    
                    "amount": 1200,
    
                    "goodsInfo": "五联西苑租金",
    
                    "tradeTime": "2019-04-25"
    
                },
    
                {
    
                    "amount": 200,
    
                    "goodsInfo": "爱与家宾馆",
    
                    "tradeTime": "2019-04-30"
    
                },
    
                {
    
                    "amount": 3800,
    
                    "goodsInfo": "丁香花园",
    
                    "tradeTime": "2019-05-20"
    
                },
    
                {
    
                    "amount": 2500,
    
                    "goodsInfo": "滨兴小区",
    
                    "tradeTime": "2019-05-28"
    
                },
    
                {
    
                    "amount": 2800,
    
                    "goodsInfo": "滨苑小区",
    
                    "tradeTime": "2019-06-08"
    
                }
            ];
            sortByMonth(arr);
    
            function sortByMonth(arr) {
                var resultObj = {}; // 我觉得这个格式的更好用一些
                var resultArr = [];
                for (let i in arr) {
                    let tradeTime = arr[i].tradeTime;
                    tradeTime = tradeTime.slice(0, tradeTime.lastIndexOf('-'));
                    if (!resultObj[tradeTime]) {
                        resultObj[tradeTime] = [];
                    }
                    resultObj[tradeTime].push(arr[i]);
                }
                for (let j in resultObj) {
                    resultArr.push({
                        tradeTime: resultObj[j]
                    });
                }
                return resultArr;
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog