groupBy: (array, f) => {
debugger
//拿到未被处理的值
var groups = {};
//讲未被处理的值循坏。
array.forEach(function (orderNo) {
//这里f是下面穿过来的方法,做了一个返回数组中一个对象的值,后面用于做新数组的key。
var group = JSON.stringify(f(orderNo));
//groups是新对象,group是数组key,=新数组值,当为空是等于空。这里也就是新建个带key的空数组,下面做push
groups[group] = groups[group] || [];
//将数组push到新数组中
groups[group].push(orderNo);
});
//这里做的是将带key的对象数组中的每个数组return出去,因为下面处理不需要key了,所以把每个key中的数组return出去,下面获取到的就是没有key值的数组,便于循环处理。
return Object.keys(groups).map(function (group) {
return groups[group];
});
},
/* 分组效果处理 */
getCombination: (req, data) => {
debugger
console.log(req, data);
var list = inpAuditTableInfoPageModel.groupBy(req, function (item) {
return [item.orderNo];
});
// data.push(list);
$.each(list, function (id, node1) {
let count = 1;
$.each(node1, function (id, list1) {
if (node1.length > 1) {
if (count == 1) {
list1.combination = 1;
} else if (count == node1.length) {
list1.combination = 3;
} else {
list1.combination = 2;
}
count = count + 1;
} else {
list1.combination = 4;
}
data.push(list1);
});
});
},
这是list的值:
本文章是做笔记用的。要结合项目中的东西看。