浅仓〆小星 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条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料