1. // 对数据进行分类处理,arr为要分类的数据 type为以什么属性分类
    2. export const modifyData = (data, type) => {
    3. const newData = [];
    4. data.forEach((item, index) => {
    5. const ind = newData.findIndex((item1) => item1.type === item[type]);
    6. if (ind !== -1) {
    7. newData[ind].list.push(item);
    8. } else {
    9. newData.push({ id: index, type: item[type], list: [item] });
    10. }
    11. });
    12. newData.map((item) => {
    13. item.list.map((item1, index1) => {
    14. if (index1 === 0) {
    15. item1.rowSpan = item.list.length;
    16. } else {
    17. item1.rowSpan = 0;
    18. }
    19. return item1;
    20. });
    21. return item;
    22. });
    23. return newData.map((item) => item.list).flat(Infinity);
    24. };

    适用于以下场景,无需改更其它,直接调用本函数进行转化。
    image.png