数组处理 对返回的数据进行归类处理
根据数组里的一个对象进行分类处理
处理完成是这样的
总结 就是数组里面有很数据 你得把他们都拿出来一一分开 在分别使用 那分类总得有分类的依据吧 就是数组的某一条的一个属性
function dealWithData(data) {
let c = [];
let d = {};
data.forEach(element => {
if (!d[element.item]) {
c.push({
item: element.item,
allData: [element]
});
d[element.item] = element;
} else {
c.forEach(ele => {
if (ele.item == element.item) {
ele.allData.push(element);
}
});
}
});
return c;
}
console.log("处理的数据",dealWithData(this.dataReport));
这是数组的合并,比如就是,有一个数组,很多收拾id相同的 但是有多条 ,你就是想他们都加起来,再进行渲染
方法结构慢慢看看就行 , 就看懂了 ,一开始我也看不懂 , 看吧
mergeData(arr) {
var map = {},
dest = [];
for (var i = 0; i < arr.length; i++) {
var ai = arr[i];
if (!map[ai.item]) {
dest.push({
item: ai.item,
step: ai.step,
amount: ai.amount
});
map[ai.item] = ai;
} else {
for (var j = 0; j < dest.length; j++) {
var dj = dest[j];
if (dj.item == ai.item) {
dj.amount = (
parseFloat(dj.amount) + parseFloat(ai.amount)
).toString();
break;
}
}
}
}
console.log(dest);
return dest;
}