如何将每个月的账单总和统计,分充值和支出两种

array:[

            {

                "tradeTime":[

                    {

                        "amount":-5000,

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

                        "tradeTime":"2019-04-20"

                    },
                                            {

                        "amount":2000,

                        "goodsInfo":"微信充值",

                        "tradeTime":"2019-04-21"

                    },

                    {

                        "amount":-1200,

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

                        "tradeTime":"2019-04-25"

                    },

                    {

                        "amount":-200,

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

                        "tradeTime":"2019-04-30"

                    }

                ]

            },

            {

                "tradeTime":[

                    {

                        "amount":-3800,

                        "goodsInfo":"丁香花园",

                        "tradeTime":"2019-05-20"

                    },
                                            {

                        "amount":5000,

                        "goodsInfo":"微信充值",

                        "tradeTime":"2019-05-22"

                    },

                    {

                        "amount":-2500,

                        "goodsInfo":"滨兴小区",

                        "tradeTime":"2019-05-28"

                    }

                ]

            },

            {

                "tradeTime":[

                    {

                        "amount":-2800,

                        "goodsInfo":"滨苑小区",

                        "tradeTime":"2019-06-08"

                    }

                ]

            }

        ]

好熟悉的数组,上次那个按月份分组我回答过,再帮你一次

let array = [{
      "tradeTime":[{
                "amount":-5000,
                "goodsInfo":"翡翠城租金",
                "tradeTime":"2019-04-20"
            },{
                "amount":2000,
                "goodsInfo":"微信充值",
                "tradeTime":"2019-04-21"
            },{
                "amount":-1200,
                "goodsInfo":"五联西苑租金",
                "tradeTime":"2019-04-25"
      },{
                "amount":-200,
                "goodsInfo":"爱与家宾馆",
                "tradeTime":"2019-04-30"
            }]
        },{
            "tradeTime":[{
                "amount":-3800,
                "goodsInfo":"丁香花园",
                "tradeTime":"2019-05-20"
            },{
                "amount":5000,
                "goodsInfo":"微信充值",
                "tradeTime":"2019-05-22"
            },{
                "amount":-2500,
                "goodsInfo":"滨兴小区",
                "tradeTime":"2019-05-28"
            }]
        },{
            "tradeTime":[{
                "amount":-2800,
                "goodsInfo":"滨苑小区",
                "tradeTime":"2019-06-08"
            }]
        }]
        function statisticsAmount(arr) {
            let result = []
            arr.forEach(item => {
                let income = 0;
                let expend = 0;
                let date = item.tradeTime[0].tradeTime;
                let month = date.slice(date.indexOf('-')+1, date.lastIndexOf('-'))
                item.tradeTime.forEach(info => {
                    if (info.amount >= 0) {
                        income += info.amount
                    } else {
                        expend += info.amount
                    }

                })
                result.push({
                    month: month, // 月份
                    income: income, // 收入
                    expend: expend // 支出
                })
            });
            return result;
        }
        console.log(statisticsAmount(array))

或者返回成对象格式:

function statisticsAmount(arr) {
            let result = {}
            arr.forEach(item => {
                let income = 0;
                let expend = 0;
                let date = item.tradeTime[0].tradeTime;
                let month = date.slice(date.indexOf('-')+1, date.lastIndexOf('-'))
                item.tradeTime.forEach(info => {
                    if (info.amount >= 0) {
                        income += info.amount
                    } else {
                        expend += info.amount
                    }

                })
                result[month] = {
                    income: income, // 收入
                    expend: expend // 支出
                }
            });
            return result;
        }

要哪种自己选吧