JavaScript 中利用对象与数组组合构建多维菜单数据

作者:青柠

时间:2026-10-31

浏览:606

本文介绍在 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 中定义对象数组并结合多维数组的方法分享完毕,希望能为读者提供参考,并感谢大家的支持。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章