的阵列动态创建分组列表我有对象的嵌套阵列如下:使用对象
result = [
[{"country":"France","continent":"Europe","name":"street a"}],
[{"country":"Brazil","continent":"South America", "name":"street b"},{"country":"Brazil","continent":"South America", "name":"street c"}],
[{"country":"Germany","continent":"Europe","name":"street d"}]
]
注意,这是从对象的排序,使用大陆和然后是国家密钥后的阵列产生。
我要动态地生成一个列表如下(大陆,然后国家),并把它添加到div
:
- 欧洲
- 法国
- 街
- 德国
- 街道d
- 法国
- 南美
- 巴西
- 街道b
- 街道ç
- 巴西
每次返回的国家和大洲都会有所不同,但结果数组将按照大陆,国家的顺序进行分组。
由于我是HTML,CSS和JavaScript的新手,我无法弄清楚如何动态创建这个列表。到目前为止,我已成功使用仅生成大陆的唯一列表:
for(var i=0;i<result.length;i++){
if($('#continent-list li').filter(function(){
return $(this).text() == result[i][0].continent;
}).length == 0){
$('#continent-list').append('<li>'+result[i][0].continent+'<ul></ul></li>');
}
即我遍历列表,只有懒得看的第一个元素[结果[I] [0]),并添加这到一个叫做'continent-list'的无序列表。每次我也检查这个名字是否已经存在于无序列表中,如果它不存在,只有我添加。
你的json中有几个语法错误。这些问题是真的还是错字?你能解决这个问题吗? – Taplar
这里没有涉及到JSON。请阅读'json'标签的使用说明。 – trincot