const datas = [{'companyName': '固废处理公司', 'comanyNo': '111 ', 'total': 180, 'children': [{'projectName': '主城区应急填埋', 'projectNo': '111 ', 'total': 80, 'children': [{'siteName': '洛城清理场', 'siteNo': '111 ', 'total': 30, 'a': 10, 'b': 20}, {'siteName': '黑石子填埋场', 'siteNo': '112 ', 'total': 50, 'a': 20, 'b': 30}]}, {'projectName': '其他区域应急填埋', 'projectNo': '112 ', 'total': 100, 'children': [{'siteName': '花溪填埋场', 'siteNo': '113', 'total': 100, 'a': 40, 'b': 60}]}]}, {'companyName': '固废运输公司', 'comanyNo': '222 ', 'total': 530, 'children': [{'projectName': '市级转运', 'projectNo': '222 ', 'total': 270, 'children': [{'siteName': '界石站', 'siteNo': '222 ', 'total': 100, 'a': 80, 'b': 20}, {'siteName': '走马站', 'siteNo': '223 ', 'total': 60, 'a': 30, 'b': 30}, {'siteName': '夏家坝站', 'siteNo': '224 ', 'total': 30, 'a': 20, 'b': 10}, {'siteName': '西永站', 'siteNo': '225 ', 'total': 80, 'a': 10, 'b': 70}]}, {'projectName': '高校餐厨转运', 'projectNo': '223 ', 'total': 80, 'children': [{'siteName': '西永站', 'siteNo': '226 ', 'total': 80, 'a': 70, 'b': 10}]}, {'projectName': '渝北区餐厨转运', 'projectNo': '224 ', 'total': 180, 'children': [{'siteName': '冉家坝站', 'siteNo': '227 ', 'total': 180, 'a': 40, 'b': 140}]}]}, {'companyName': '全国垃圾处理公司', 'comanyNo': '333 ', 'total': 666, 'children': [{'projectName': '全国连锁', 'projectNo': '333 ', 'total': 666, 'children': [{'siteName': '全国站', 'siteNo': '333 ', 'total': 666, 'a': 333, 'b': 333}]}]}]

// js封装函数实现输入数据datas,期望输出结果result内容:function transformData(datas) { const result = [];

datas.forEach(data => {
    const company = {
        companyName: data.companyName,
        comanyNo: data.comanyNo,
        total: data.total,
        children: []
    };

    if (data.children) {
        data.children.forEach(project => {
            const projectObj = {
                projectName: project.projectName,
                projectNo: project.projectNo,
                total: project.total,
                children: []
            };

            if (project.children) {
                project.children.forEach(site => {
                    const siteObj = {
                        siteName: site.siteName,
                        siteNo: site.siteNo,
                        total: site.total,
                        a: site.a,
                        b: site.b
                    };

                    projectObj.children.push(siteObj);
                });
            } else {
                projectObj.siteName = project.siteName;
                projectObj.siteNo = project.siteNo;
                projectObj.a = project.a;
                projectObj.b = project.b;
            }

            company.children.push(projectObj);
        });
    }

    result.push(company);
});

return result;

}

const transformedData = transformData(datas); console.log(transformedData);

固废处理和运输公司数据结构展示 - 详细项目和站点信息

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

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