教女朋友|表弟系列:问题解决-数据匹配

73 阅读1分钟

情景

女朋友想要实现一个点击当前菜单,然后展示菜单路径的功能。

菜单数据如下(实际就是直接把路由的数据拿过来了):

const menus = [
    {
        title: '一级菜单1',
        key: 'account'
        children: [
            {
                title: '管理员',
                key: 'admin',
            },
            {
                title: '助理',
                key: 'assit',
            },
            {
                title: '老板',
                key: 'boss',
            }
        ]
    }
]

当我点击二级菜单时,我要拿到它本身信息的同时,还要拿它父级的信息,即一级菜单。

方案目前有2种:

  • 将父级数据转录入到子级。
  • 制作字典/对象,实现数据匹配。

方案1:将父级数据转录入到子级

const newArr = [
    {
        title: '一级菜单1',
        key: 'account'
        children: [
            {
                firstMenu: {
                    title: '一级菜单1',
                    key: 'account'
                },
                title: '管理员',
                key: 'admin',
            },
            {
                firstMenu: {
                    title: '一级菜单1',
                    key: 'account'
                },
                title: '助理',
                key: 'assit',
            },
            {
                firstMenu: {
                    title: '一级菜单1',
                    key: 'account'
                },
                title: '老板',
                key: 'boss',
            }
        ]
    }
]

方案2:制作字典/对象,实现数据匹配

const map = {
    'admin': {
        firstMenu: {
            title: '一级菜单1',
            key: 'account'
        },
        title: '管理员',
        key: 'admin',
    },
    'assit': {
        firstMenu: {
            title: '一级菜单1',
            key: 'account'
        },
        title: '助理',
        key: 'assit',
    },
    'boss': {
        firstMenu: {
            title: '一级菜单1',
            key: 'account'
        },
        title: '老板',
        key: 'boss',
    }
}