您可以使用map()方法来遍历数组,然后在每个对象中添加一个新的属性"path"来表示路径。以下是实现这个需求的代码:

const data = [
    {
        "materialCode": "WL002",
        "materialName": "自制件物料",
        "materialId": 1023,
        "unitUseNum": 1,
        "costOutsourcingMaterial": [
            {
                "rowId": "1693288593253815"
            },
            {
                "rowId": "1693288593253822"
            },
            {
                "rowId": "1693288593253555"
            }
        ],
        "costOutsourcingDetail": [
            {},
            {},
            {},
            {}
        ]
    },
    {
        "materialCode": "WL003",
        "materialName": "自制件物料3",
        "materialId": 10233,
        "unitUseNum": 1,
        "costOutsourcingMaterial": [
            {
                "rowId": "1693288533253815"
            },
            {
                "rowId": "16932ee533253815"
            },
            {
                "rowId": "16932yy533253815"
            },
            {
                "rowId": "16932567533253815"
            }
        ],
        "costOutsourcingDetail": [
            {},
            {},
            {},
            {},
            {}
        ]
    }
];

const newData = data.map((item, index) => {
    item.path = index;
    item.costOutsourcingMaterial = item.costOutsourcingMaterial.map((material, i) => {
        material.path = `${index}.costOutsourcingMaterial.${i}`;
        return material;
    });
    item.costOutsourcingDetail = item.costOutsourcingDetail.map((detail, i) => {
        detail.path = `${index}.costOutsourcingDetail.${i}`;
        return detail;
    });
    return item;
});

console.log(newData);

运行以上代码会输出转换后的新数据格式

es6将数据格式 materialCode WL002 materialName 自制件物料 materialId 1023 unitUseNum 1 costOutsourcingMaterial rowId 1693288593253815

原文地址: https://www.cveoy.top/t/topic/iRNq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录