//组装方法
function groupBy(array, f) {
let groups = {};
array.forEach(function (o) {
let group = JSON.stringify(f(o));
groups[group] = groups[group] || [];
groups[group].push(o);
});
return Object.keys(groups).map(function (group) {
return groups[group];
});
}
let list = []; //要处理的数组
let sorted = groupBy(list, function (item) {
return [item.dateField_l65uepgf]; //开始日期
});
//求和方法
function sum(arr) {
var s = 0;
for (var i = arr.length - 1; i >= 0; i--) {
s += arr[i];
}
return s;
}
var sumed = [];
sorted.forEach(d=>{
var gg = d.map(g => g.numberField_leibu0hx);
var dd = d.map(p => p.numberField_l64uq2up);
var yy = d.map(y => y.numberField_l8ceukh9);
let ret = {
"numberField_leibu0hx": sum(gg), //应收金额
"numberField_l64uq2up": sum(dd), //待收金额
"numberField_l8ceukh9": sum(yy), //优惠
"dateField_l65uepgf": d[0].dateField_l65uepgf, //开始日期
"dateField_l65uepgg": d[0].dateField_l65uepgg, //结束日期
};
sumed.push(ret);
})
console.log("sumed", sumed)
//组装结束
//其他功能:通过某个值过滤数组
var newtab = [];
var total = 0;
for(var m=0;m<tablist.length;m++){
total += tablist[m].numberField_ldjphnt4;
if (total <= money)
newtab.push(tablist[m])
else
break
}
发表评论 取消回复