原数据格式:[
{
prodName : "产品1",
faultName : "类别1",
quantity : 3
},
{
prodName : "产品1",
faultName : "类别2",
quantity : 23
},
{
prodName : "产品2",
faultName : "类别2",
quantity : 11
},
{
prodName : "产品3",
faultName : "类别3",
quantity : 13
},
{
prodName : "产品4",
faultName : "类别1",
quantity : 20
},
]
期望:[
{
name:'类别1',
data:[3,0,0,20]
},
{
name:'类别2',
data:[23,11,0,0]
},
{
name:'类别3',
data:[0,0,13,0]
}
]
prodName与faultName有多少未知
定义一个处理函数:
const fn = (arr) => {
const newArr = [];
arr.forEach((item) => {
const newArrItem = newArr.find((n) => n.name === item.faultName);
// console.log(newArrItem);
if (!newArrItem) {
newArr.push({
name: item.faultName,
data: [item.quantity],
});
} else {
// console.log(newArr.find((n) => n.name === item.faultName));
newArrItem.data.push(item.quantity);
// console.log("存在");
}
});
return newArr;
};
将原数据作为参数调用fn函数,fn的返回值就是你需要的数据格式