我将如何在 JavaScript 中表示以下菜单结构
How would I represent the following menu structure in JavaScript?
Soccer
Australia
Melbourne
Sydney
New Zealand
Christchurch
Tennis
United Kingdom
Kensington
London
Manchester
我尝试过多维数组,但由于长度不同,它变得很尴尬。我也尝试过键/值对,但是我再次遇到了困难,因为在某种程度上只有值而没有键。我试图在视觉上表示层次结构。 澄清悉尼是澳大利亚的孩子。澳大利亚是足球之子。足球是网球等的兄弟姐妹。
编辑:我正在寻找一种不需要任何实际数据知识的解决方案。 换句话说,我可以将"足球"换成"棒球",并且只需打印出数据结构的简单算法就不会中断。
在 JSON 中:
{
"Soccer": {
"Australia": [
"Melbourne",
"Sydney"
],
"NewZealand": [
"Christchurch"
]
},
"Tennis": {
"UnitedKingdom": [
"Kensington",
"London",
"Manchester"
]
}
}
下面是数据的循环:
for ( sport in data ) {
// print sport here
countries = data[sport];
for ( country in countries ) {
// print country here
cities = countries[country];
for (var i = 0; i < cities.length; i++) {
// print city here
};
};
};
可以在jsFiddle上看到这里:http://jsfiddle.net/2p6g3/18/
{
"sport": [
{
"name": "Soccer",
"place": [
{
"country": "Australia",
"city": [
{
"name": "Melbourne"
},
{
"nam": "Sdney"
}
]
},
{
"country": "NewZealand",
"city": [
{
"name": "Christchurch"
}
]
}
]
},
{
"name": "Tennis",
"place": [
{
"country": "UnitedKingdom",
"city": [
{
"name": "Manchester"
}
]
}
]
}
]
}
遍历对象数组以获取必填字段:
sport[].name // name of the sports
sport[].place[].country // country name
sport[].place[].city[].name // city name
相关文章:
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- React中的数据集表示
- angular的下拉菜单
- 使用JQuery的动态上下文菜单
- 创建带有和不带有JavaScript的Bootstrap下拉菜单
- 创建下拉菜单
- 下拉菜单在菜单按钮的边缘闪闪发光
- Div根据<选择>菜单
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 硒IDE下拉菜单
- 将JavaScript弹出菜单转换为警报框
- 调整屏幕大小后不显示子菜单
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 我的下拉菜单中的链接不起作用
- Bootstrap Dropdown selection是在*all*下拉菜单上设置选择
- Jquerymobile-使用javascript创建选择菜单
- 如何将JSON转换为HTML下拉菜单
- 滚动后保持固定的菜单栏不起作用
- 我将如何在 JavaScript 中表示以下菜单结构