当我们需要将一维数组转换成一个多层结构的时候,最简单但是最慢的就是使用多个for循环嵌套,但是这样做有一些缺点,那就是效率太低,而且有多少层就需要用多少个for,现在我们可以使用一种高效的手段将一维的扁平数组转换成一个多层级的菜单结构。
一维数组中每一个元素必须要包含以下属性:
- 拥有一个唯一的id
- 拥有一个parent_id,这个id指向父级的id
扁平数组实例:
var menu_list = [{
id: '1',
menu_name: '设置',
menu_url: 'setting',
parent_id: 0
}, {
id: '1-1',
menu_name: '权限设置',
menu_url: 'setting.permission',
parent_id: '1'
}, {
id: '1-1-1',
menu_name: '用户管理列表',
menu_url: 'setting.permission.user_list',
parent_id: '1-1'
}, {
id