JavaScript 中利用对象与数组组合构建多维菜单数据
作者:青柠时间:2026-10-31 01:58:11浏览:607
本文介绍在 JavaScript 中定义复杂数据结构的方法。由于 JS 原生数组不支持字符串索引,可通过结合对象与数组来构建多维数据。示例展示了如何定义包含索引、用户和模块树的菜单结构,并通过遍历对象数组提取特定层级的菜单项,实现动态生成左侧导航栏的功能。
JavaScript 中结合对象与数组构建多维数据
在 PHP 中定义数组相对简单,但在 JavaScript 中若直接使用字符串作为数组下标会引发错误。因此,一种有效的替代方案是结合使用对象和数组来构建数据结构。
菜单数据结构定义示例
var top_ = {
'index':'首页',
'user':'用户',
'tree':'模块树'
} ;
var all_list = [
{
"index": [
{'name':'网站栏目管理','url':'1.html'},
{'name':'网站栏目管理2','url':'2.html'}
]
},
{
"user": [
{'name':'用户管理','url':'user.html'},
{'name':'用户添加','url':'add.html'}
]
},
{
"tree": [
{'name':'模块树管理','url':'manager.html'},
{'name':'模块树添加','url':'add_new.html'},
{'name':'模块树添333加','url':'add_ne33w.html'}
]
}
];
上述代码定义了一个包含模块树信息的数组结构。
此外,在从该数据结构中检索数据时,也能通过相应的方法高效地获取所需内容。
动态生成左侧菜单函数实现
//根据顶部的下标得到左边菜单
function return_left_menu_by_index(index){
var left_ = '' ;
for(var i in all_list){
for(var j in all_list[i]){
if(j == index){
//默认显示的菜单
//console.dir(all_list[i][j]);
for(var k in all_list[i][index]){
//console.dir(k);
var new_onclick = 'onclick=change_right_url("'+all_list[i][index][k].url+'")' ;
left_+='<div style="width:120px; height:30px;line-height:30px;border:solid 1px; margin:3px;padding:2px;cursor:pointer" '+new_onclick+'>'+all_list[i][index][k].name+'</div>';
}
}
}
}
return left_ ;
}
以上关于在 JavaScript 中定义对象数组并结合多维数组的方法分享完毕,希望能为读者提供参考,并感谢大家的支持。
作者最新文章
ES6模块化中js文件怎么用import和export交互
2026-11-05 17:00:48
JS读取本地文件时报错或无响应的常见原因
2026-11-05 16:32:31
let、const与var的区别:JavaScript变量声明最佳实践
2026-11-05 14:16:38
JS中直接定义静态二维数组的字面量写法
2026-11-05 14:16:08
JS 怎么查找字符串中所有匹配项的位置
2026-11-05 14:15:53
