js手动创建复杂的集合

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/VVanity/article/details/46840685

前端的时候,可能我们把一系列数据存在自己的集合里面更加方便。

下面有几种集合的格式记录一下

var menuList = ""; // 菜单

单个集合

1:类似list,array的语法
menuList = ["aaa","bbb"];
2:类似map的语法
menuList = {name:"aaa",sex:"bbb"};

用我自己的话理解,就是[   ]  就是有下标的,{  } 就是键值对的。

多个复杂集合

1:map嵌套list嵌套map
menuList = {
	"upMenuList" : [ {
		"name" : "aaa"
	}, {
		"name" : "bbb"
	}, {
		"name" : "ccc"
	}, {
		"name" : "ddd"
	}, {
		"name" : "fff"
	} ],
	"downMenuList" : [ {
		"value" : "qqq"
	}, {
		"value" : "www"
	}, {
		"value" : "eee"
	}, {
		"value" : "rrr"
	}, {
		"value" : "ttt"
	} ]
};
alert(menuList.upMenuList[0].name);

2:list嵌套map嵌套list嵌套map
menuList = [ {
	"upMenuList" : [ {
		"name" : "aaa"
	}, {
		"name" : "bbb"
	}, {
		"name" : "ccc"
	}, {
		"name" : "ddd"
	}, {
		"name" : "fff"
	} ],
	"upMenuList2" : [ {
		"name" : "aaa"
	}, {
		"name" : "bbb"
	}, {
		"name" : "ccc"
	}, {
		"name" : "ddd"
	}, {
		"name" : "fff"
	} ]
}, {
	"downMenuList" : [ {
		"value" : "qqq"
	}, {
		"value" : "www"
	}, {
		"value" : "eee"
	}, {
		"value" : "rrr"
	}, {
		"value" : "ttt"
	} ],
	"downMenuList2" : [ {
		"value" : "qqq"
	}, {
		"value" : "www"
	}, {
		"value" : "eee"
	}, {
		"value" : "rrr"
	}, {
		"value" : "ttt"
	} ]
} ];
alert(menuList[0].upMenuList[0].name);
3:list嵌套list嵌套hashMap
<span style="font-weight: normal;">menuList = [ [ {
	"name" : "aaa"
}, {
	"name" : "bbb"
}, {
	"name" : "ccc"
}, {
	"name" : "ddd"
}, {
	"name" : "fff"
} ], [ {
	"value" : "qqq"
}, {
	"value" : "www"
}, {
	"value" : "eee"
}, {
	"value" : "rrr"
}, {
	"value" : "ttt"
} ] ];

alert(menuList[0][0].name);</span>
<span style="font-weight: normal;">
</span>

4:动态的添加
<script type="text/javascript">
	var channelList = []; //添加栏目菜单集合
	
	<c:forEach items="${channelList}" varStatus="status" var="item">
		var temp = {};
		temp.id = '${item.id }';
		temp.title = '${item.title }';
		channelList.push(temp);
		<c:if test="${classId == item.id }">
			listIndex = '${status.index + 1}';
			//alert(listIndex);
		</c:if>
		channelList.push(temp);
	</c:forEach>
	
	menuList.push(channelList);
	
	alert(menuList[0][0].title);
</script>








猜你喜欢

转载自blog.csdn.net/VVanity/article/details/46840685