使用js重新格式数组,获得新数组

img

[{ loginDayTime: '2021年11月22日', onlineDurationTime: 1,},
 { loginDayTime: '2021年11月22日', onlineDurationTime: 1, },
{ loginDayTime: '2021年11月23日', onlineDurationTime: 2, },
{ loginDayTime: '2021年11月23日', onlineDurationTime: 2,}
]

把数组中loginDayTime相同的onlineDurationTime的值相加,希望的到

[
{loginDayTime: '2021年11月22日', onlineDurationTime: 2},
{loginDayTime: '2021年11月23日', onlineDurationTime: 4},
]

题主要的代码如下

img


    d = [{ loginDayTime: '2021年11月22日', onlineDurationTime: 1, },
    { loginDayTime: '2021年11月22日', onlineDurationTime: 1, },
    { loginDayTime: '2021年11月23日', onlineDurationTime: 2, },
    { loginDayTime: '2021年11月23日', onlineDurationTime: 2, }
    ];
    nd = [];
    var kvindex = {}
    d.forEach((item, index) => {
        if (kvindex[item.loginDayTime] !== undefined) {
            nd[kvindex[item.loginDayTime]].onlineDurationTime += item.onlineDurationTime
        }
        else {
            kvindex[item.loginDayTime]=nd.length
            nd.push(item);
        }
    })
    alert(JSON.stringify(nd,null,4))

有帮助麻烦点下【采纳该答案】,谢谢~~有其他问题可以继续交流~