const list = [
{
"name": "投资大厦21F动力照明001-正向有功电能",
"dateTime": "2023-12-31 00:00:00",
"totalEnergy": "0.00",
"totalExpenses": "0.00",
"timeList": [
{
"time": "00:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "01:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "02:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "03:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "04:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "05:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "06:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "07:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "08:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "09:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "10:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "11:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "12:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "13:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "14:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "15:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "16:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "17:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "18:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "19:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "20:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "21:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "22:00:00",
"energy": "0.00",
"expenses": "0.00"
},
{
"time": "23:00:00",
"energy": "0.00",
"expenses": "0.00"
}
]
},
{
"name": "投资大厦21F动力照明001-正向有功电能",
"dateTime": "2024-12-31 00:00:00",
"totalEnergy": "4598.00",
"totalExpenses": "7031.20",
"timeList": [
{
"time": "00:00:00",
"energy": "65.60",
"expenses": "65.60"
},
{
"time": "01:00:00",
"energy": "64.40",
"expenses": "64.40"
},
{
"time": "02:00:00",
"energy": "68.80",
"expenses": "68.80"
},
{
"time": "03:00:00",
"energy": "64.80",
"expenses": "64.80"
},
{
"time": "04:00:00",
"energy": "62.00",
"expenses": "62.00"
},
{
"time": "05:00:00",
"energy": "63.60",
"expenses": "63.60"
},
{
"time": "06:00:00",
"energy": "66.00",
"expenses": "66.00"
},
{
"time": "07:00:00",
"energy": "81.20",
"expenses": "81.20"
},
{
"time": "08:00:00",
"energy": "186.80",
"expenses": "186.80"
},
{
"time": "09:00:00",
"energy": "395.60",
"expenses": "791.20"
},
{
"time": "10:00:00",
"energy": "408.80",
"expenses": "817.60"
},
{
"time": "11:00:00",
"energy": "394.00",
"expenses": "788.00"
},
{
"time": "12:00:00",
"energy": "210.00",
"expenses": "210.00"
},
{
"time": "13:00:00",
"energy": "173.60",
"expenses": "173.60"
},
{
"time": "14:00:00",
"energy": "372.40",
"expenses": "372.40"
},
{
"time": "15:00:00",
"energy": "363.60",
"expenses": "363.60"
},
{
"time": "16:00:00",
"energy": "378.80",
"expenses": "757.60"
},
{
"time": "17:00:00",
"energy": "374.80",
"expenses": "749.60"
},
{
"time": "18:00:00",
"energy": "273.60",
"expenses": "547.20"
},
{
"time": "19:00:00",
"energy": "174.00",
"expenses": "174.00"
},
{
"time": "20:00:00",
"energy": "117.60",
"expenses": "235.20"
},
{
"time": "21:00:00",
"energy": "90.00",
"expenses": "180.00"
},
{
"time": "22:00:00",
"energy": "76.40",
"expenses": "76.40"
},
{
"time": "23:00:00",
"energy": "71.60",
"expenses": "71.60"
}
]
},
]
const consum = list.reduce((acc, cur) => {
// 累加 totalEnergy 和 totalExpenses
acc.totalEnergy += parseFloat(cur.totalEnergy);
acc.totalExpenses += parseFloat(cur.totalExpenses);
// 初始化 timeList,如果 acc.timeList 为空
if (acc.timeList.length === 0) {
for (let timeItem of cur.timeList) {
acc.timeList.push({
time: timeItem.time,
energy: parseFloat(timeItem.energy),
expenses: parseFloat(timeItem.expenses)
});
}
} else {
// 确保 acc.timeList 和 cur.timeList 长度相同
for (let i = 0; i < Math.min(acc.timeList.length, cur.timeList.length); i++) {
acc.timeList[i].energy += parseFloat(cur.timeList[i].energy);
acc.timeList[i].expenses += parseFloat(cur.timeList[i].expenses);
}
}
return acc;
}, {
name: "总量",
dateTime: null,
totalEnergy: 0,
totalExpenses: 0,
timeList: []
});
list.unshift(consum)
console.log(list)
console