js 多級樹形數據包裝 更改格式

可用於將其轉換爲,想要的樹形數據

品,你品,你在品,你細品

let menuData = [
    {
        id: 1,
        parentId:0,
        icon: 'dashboard',
        level: 1,
        name: '儀表盤'
    },
    {
        id: 2,
        parentId:0,
        icon: 'shopping',
        level: 1,
        name: '商品管理'
    },
    {
        id: 3,
        parentId:0,
        icon: 'snippets',
        level: 1,
        name: '訂單管理'
    },
    {
        id: 5,
        parentId:0,
        icon: 'setting',
        level: 0,
        name: '設置',
        children: [
            {
                id: 51,
                parentId:5,
                icon: 'menu',
                level: 1,
                name: '菜單管理'
            },
            {
                id: 52,
                parentId:5,
                icon: 'deployment-unit',
                level: 1,
                name: '角色管理'
            },
            {
                id: 53,
                parentId:5,
                icon: 'usergroup-add',
                level: 0,
                name: '用戶管理',
                children:[
                    {
                        id: 531,
                        parentId:53,
                        icon: 'team',
                        level: 1,
                        name: '平臺用戶'  
                    },
                    {
                        id: 532,
                        parentId:53,
                        icon: 'solution',
                        level: 1,
                        name: '系統用戶'  
                    }
                ]
            }
        ]
    }
];

function cb (item){
    let newObj = new Object
    newObj.key = item.id
    newObj.value = item.id
    newObj.title = item.name
    if(!!item.children){
        newObj.children = conversionData(cb,item.children)
    }
    return newObj
}

function conversionData( cb , data){
    return data.map(item =>cb(item))
}

conversionData(cb,menuData)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章