List集合数据进行按日期统计或指定属性
convertSta:function(){
var articles=[{timeStr:'2024年01月02号',addCent:10,subCent:30}, {timeStr:'2024年01月02号',addCent:20,subCent:20},
{timeStr:'2024年01月03号',addCent:30,subCent:30},
{timeStr:'2024年01月03号',addCent:40,subCent:40}];
var result = articles.reduce((acc, item) => {
if (!acc[item.timeStr]) {
acc[item.timeStr] = {timeStr: item.timeStr,addCent:0, subCent: 0};
}
acc[item.timeStr].addCent += item.addCent;
acc[item.timeStr].subCent += item.subCent;
return acc;
}, {});
articles.forEach(data => {
if(data.timeStr!=that.data.timeText){
that.setData({
timeText:data.timeStr
})
if(result[data.timeStr].timeStr===data.timeStr){
data.todayAdd=minitobit(result[data.timeStr].addCent)
data.todaySub=minitobit(result[data.timeStr].subCent)
}
}else{
data.timeStr="";
}
});
}
function minitobit(fen){
var num = fen;
num=fen*0.01;
num+='';
var reg = num.indexOf('.') >-1 ? /(\d{1,3})(?=(?:\d{3})+\.)/g : /(\d{1,3})(?=(?:\d{3})+$)/g;
num=num.replace(reg,'$1');
num = toDecimal2(num)
return num
};
function toDecimal2(x){
var f = parseFloat(x);
if (isNaN(f)) {
return false;
}
var f = Math.round(x * 100) / 100;
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
}
return s;
}