这个返回数据当中,如何把日期yearmo相同的数据,它的crntonhdnum相加,然后push到数组里面,这个日期是动态的,所以判断的时候不能写死
该回答引用ChatGPT4与博主@晓码自在合作编写:
根据你的要求,可以这么实现:
js
let data = [/* 数据 */];
let result = [];
// 获取data中所有yearmo的值
let yearmos = data.map(item => item.yearmo);
// yearmos去重
let uniqueYearmos = [...new Set(yearmos)];
uniqueYearmos.forEach(yearmo => {
// 筛选出yearmo相同的数据
let filterData = data.filter(item => item.yearmo === yearmo);
// 计算crntonhdnum总和
let sum = filterData.reduce((total, item) => total + item.crntonhdnum, 0);
// 构造结果对象
let obj = {
yearmo: yearmo,
crntonhdnum: sum
};
// 添加到结果数组
result.push(obj);
});
console.log(result);
// [ { yearmo: '202301', crntonhdnum: 9.2 },
// { yearmo: '202302', crntonhdnum: 10.23 },
// ... ]
这个代码的流程是:
这样,我们就可以按yearmo分组,并统计每个分组的crntonhdnum总和,这满足你的要求。