treeToList
const treeToList = (list, config = { children: 'children' }) => { const rows = [] const deepFN = ( list = [], parent = null, config = { children: 'children' } ) => { list.forEach(item => { const row = assign({}, parent, item) row[config.children] = item[config.children] if (row.rows) { deepFN(row.rows, row, config) } else { rows.push(row) } }) } deepFN(list, {}, config) return rows }
调用示例:
treeList数据源
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
const treeList = [{ "id": null, "psName": "一般四川", "psId": "ff80808179f39a9f0179f475390d2416", "rows": [{ "facilitiesId": "2e85ebab-1b33-4405-bb84-66188b20037e", "facilitiesName": "总表123132131", "type": "2", "rows": [{ "equipId": "2e85ebab-1b33-4405-bb84-66188b20037e", "equipName": "总表123132131", "dataTime": "2021-08-19 15:30:00", "status": "311.50", "ia": "187.07", "ib": "767.20", "ic": "711.89", "ua": "263.33", "ub": "499.94", "uc": "514.41", "pt": "994.75" }] }] }, { "id": null, "psName": "一般工业企业zhuz", "psId": "4028864d7aa3e75c017aa3f3e9b10060", "rows": [{ "facilitiesId": "618838dc-de1d-4e26-a9e8-ff53c94631ef", "facilitiesName": "总表-zhuz", "type": "2", "rows": [{ "equipId": "618838dc-de1d-4e26-a9e8-ff53c94631ef", "equipName": "总表-zhuz", "dataTime": "2021-08-19 15:30:00", "status": "309.45", "ia": "913.84", "ib": "643.25", "ic": "12.95", "ua": "551.36", "ub": "399.54", "uc": "491.13", "pt": "626.81" }] }, { "facilitiesId": "7d69e3a7-915a-4951-bf16-d9ec7cc825b6", "facilitiesName": "生产单元1-1", "type": "4", "rows": [{ "equipId": "11", "equipName": "生产设备1-1-1", "dataTime": "2021-08-19 15:30:00", "status": "739.18", "ia": "192.61", "ib": "4.52", "ic": "142.54", "ua": "161.79", "ub": "247.99", "uc": "968.02", "pt": "357.15" }, { "equipId": "123456", "equipName": "生产设备1-1-2", "dataTime": "2021-08-19 15:30:00", "status": "136.71", "ia": "612.46", "ib": "423.48", "ic": "983.70", "ua": "859.77", "ub": "751.66", "uc": "170.12", "pt": "985.59" } ] }, { "facilitiesId": "fb735f3f-d416-44fc-b6d4-845935cbdb3a", "facilitiesName": "生产单元1-2", "type": "4", "rows": [{ "equipId": "sbbh", "equipName": "生产设备1-2-1", "dataTime": "2021-08-19 15:30:00", "status": "541.02", "ia": "785.23", "ib": "395.71", "ic": "973.27", "ua": "775.45", "ub": "382.14", "uc": "851.93", "pt": "544.34" }, { "equipId": "13", "equipName": "生产设备1-2-2", "dataTime": "2021-08-19 15:30:00", "status": "496.09", "ia": "706.66", "ib": "933.91", "ic": "733.84", "ua": "97.43", "ub": "948.65", "uc": "109.63", "pt": "337.37" } ] }, { "facilitiesId": "4464b2b7-2789-4142-b8c6-69b41986a4cc", "facilitiesName": "治污单元1-1", "type": "5", "rows": [{ "equipId": "123", "equipName": "治污设备1-1-1", "dataTime": "2021-08-19 15:30:00", "status": "509.78", "ia": "752.77", "ib": "907.71", "ic": "139.81", "ua": "907.26", "ub": "851.40", "uc": "541.61", "pt": "744.32" }, { "equipId": "1", "equipName": "治污设备1-1-2", "dataTime": "2021-08-19 15:30:00", "status": "689.61", "ia": "849.01", "ib": "99.13", "ic": "989.69", "ua": "228.53", "ub": "149.45", "uc": "577.85", "pt": "193.52" } ] }, { "facilitiesId": "33a0f6f0-344a-4fc0-b411-b3195134eb75", "facilitiesName": "治污单元1-2", "type": "5", "rows": [{ "equipId": "1", "equipName": "治污设备1-2-1", "dataTime": "2021-08-19 15:30:00", "status": "768.37", "ia": "442.06", "ib": "238.32", "ic": "991.40", "ua": "204.05", "ub": "997.58", "uc": "979.16", "pt": "923.71" }] } ] }, { "id": null, "psName": "污水处理厂四川qmj111", "psId": "ff80808179bbd52b0179c142f18c0027", "rows": [{ "facilitiesId": "f488f117-faf8-4de8-8da0-549c06685c41", "facilitiesName": "总表2", "type": "2", "rows": [{ "equipId": "f488f117-faf8-4de8-8da0-549c06685c41", "equipName": "总表2", "dataTime": "2021-08-19 15:30:00", "status": "516.28", "ia": "770.48", "ib": "818.74", "ic": "810.51", "ua": "646.58", "ub": "524.43", "uc": "774.96", "pt": "37.65" }] }] }, { "id": null, "psName": "一般工业企业qmj111", "psId": "ff80808179b101750179b103fe3d0000", "rows": [{ "facilitiesId": "b4e0bbe1-d0f5-41f1-9c7f-ebe6e2d3b020", "facilitiesName": "总表1", "type": "2", "rows": [{ "equipId": "b4e0bbe1-d0f5-41f1-9c7f-ebe6e2d3b020", "equipName": "总表1", "dataTime": "2021-08-19 15:30:00", "status": "551.30", "ia": "508.92", "ib": "152.01", "ic": "305.16", "ua": "71.44", "ub": "838.30", "uc": "991.10", "pt": "914.76" }] }, { "facilitiesId": "71498f37-d8c1-44f7-9f37-3c8438d66308", "facilitiesName": "生产单元111", "type": "4", "rows": [{ "equipId": "1", "equipName": "省1-1", "dataTime": "2021-08-19 15:30:00", "status": "199.24", "ia": "820.94", "ib": "36.55", "ic": "656.12", "ua": "734.25", "ub": "771.17", "uc": "114.49", "pt": "733.03" }, { "equipId": "1", "equipName": "1-2", "dataTime": "2021-08-19 15:30:00", "status": "329.72", "ia": "311.53", "ib": "411.83", "ic": "29.63", "ua": "401.07", "ub": "767.12", "uc": "889.09", "pt": "911.78" } ] }, { "facilitiesId": "9c02a8a4-e591-468e-9cd1-a7585d67b485", "facilitiesName": "治污1-1", "type": "5", "rows": [{ "equipId": "33", "equipName": "治污2-2", "dataTime": "2021-08-19 15:30:00", "status": "820.36", "ia": "478.54", "ib": "609.68", "ic": "684.54", "ua": "267.05", "ub": "92.03", "uc": "357.95", "pt": "908.41" }, { "equipId": "11", "equipName": "治污2-3", "dataTime": "2021-08-19 15:30:00", "status": "164.01", "ia": "644.76", "ib": "315.29", "ic": "579.89", "ua": "149.74", "ub": "278.99", "uc": "595.11", "pt": "278.96" }, { "equipId": "1", "equipName": "治污2-1", "dataTime": "2021-08-19 15:30:00", "status": "168.42", "ia": "243.84", "ib": "890.68", "ic": "611.10", "ua": "779.81", "ub": "9.37", "uc": "380.56", "pt": "166.82" } ] } ] }, { "id": null, "psName": "一般工业企业cc", "psId": "ff80808179f39a9f0179f3c52c2a0001", "rows": [{ "facilitiesId": "15478af0-3e2f-475f-94e0-9f72d510d57b", "facilitiesName": "111", "type": "2", "rows": [{ "equipId": "15478af0-3e2f-475f-94e0-9f72d510d57b", "equipName": "111", "dataTime": "2021-08-19 15:30:00", "status": "994.76", "ia": "347.23", "ib": "34.32", "ic": "444.85", "ua": "801.15", "ub": "798.72", "uc": "825.08", "pt": "144.36" }] }] } ]
// 调用示例 const rows = treeToList(treeList, { children: 'rows' })