var getColumn = function (list, style, collapse) {    const option = {        type: "column",        style: style,        collapse    };    if (Array.isArray(list)) {        option.list = list;    } else {         option.data = list;    }    return option;}var getRow = function (list, style, collapse) {    const option = {        type: "row",        style: style,        collapse    };    if (Array.isArray(list)) {        option.list = list;    } else {        option.data = list;    }    return option;}var layout = [    getRow([        getColumn([            getRow([                getColumn({                    id:"1"                }),                getColumn({                    id: "2"                }),                getColumn({                    id: "3"                })            ],null,2),            getRow([                getColumn({                    id: "3-4"                })            ]),            getRow([                getColumn({                    id: "4"                })            ]),        ], null,3),        getColumn({            id: "4-5"        }),        getColumn({            id: "5"        })    ]),    getRow([        getColumn([            getRow([                getColumn({                    id: "6"                }),                getColumn({                    id: "7"                }),                getColumn({                    id: "8"                }),                getColumn({                    id: "9"                })            ]),            getRow([                getColumn({                    id: "10"                }),                getColumn({                    id: "11"                })            ]),            getRow({                id: "12"            }),            getRow([                getColumn({                    id: "13"                }),                getColumn({                    id: "14"                }),                getColumn({                    id: "15"                })            ]),        ]),        getColumn({            id: "16"        }),        getColumn()    ], {})];var getLayout = () => {     var html = "<div class='layout'>"    var getRowHtml = (data) => {        const collapse = data.collapse || 1;        return `<div class='row' style='flex:${collapse}'>`    }    var getColumnHtml = (data) => {        const collapse = data.collapse || 1;        return `<div class='column' style='flex:${collapse}'>`    }    var getCellHtml = (data) => {         const text = data.data && data.data.id || ""        return `<span>${text}</span></div>`;    };    var excutor = function (layout) {        layout.forEach(data => {            const list = data.list;            if (!Array.isArray(data.list)) {                html += (data.type === "row" ? getRowHtml(data) : getColumnHtml(data));                html += getCellHtml(data);                return;            }            if (data.type === "row") {                html += getRowHtml(data)                excutor(list);                html += "</div>"            } else {                html += getColumnHtml(data)                excutor(list);                html += "</div>"            }        });    };    excutor(layout);    return html;}console.log(getLayout());