示例先根据数组对象中rsnm的合并,再根据x_type合并,其实就是写了两遍相同的函数过程
examineClass(arr) {
var map = {},
result = [];
for (var i = 0; i < arr.length; i++) {
var ai = arr[i];
if (!map[ai.rsnm]) {
result.push({
rsnm: ai.rsnm,
addvnm: ai.addvnm,
reward: ai.reward,
data: [ai],
});
map[ai.rsnm] = ai;
} else {
for (var j = 0; j < result.length; j++) {
var dj = result[j];
if (dj.rsnm == ai.rsnm) {
dj.data.push(ai);
break;
}
}
}
}
result.forEach((item) => {
var map1 = {},
result1 = [];
console.log(item.data);
for (var i = 0; i < item.data.length; i++) {
var ai = item.data[i];
if (!map1[ai.x_type]) {
result1.push({
x_type: ai.x_type,
data: [ai],
});
map1[ai.x_type] = ai;
} else {
for (var j = 0; j < result1.length; j++) {
var dj = result1[j];
if (dj.x_type == ai.x_type) {
dj.data.push(ai);
break;