前端数据处理问题。后台返回不符合要求

原数据格式:[
{
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的返回值就是你需要的数据格式