使用javascript创建二维对象或数组

使用javascript创建二维对象或数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在尝试根据网站头部的标记构建一个语言菜单 我必须创建对象,一个用于大陆,一个用于语言,基于这两个对象,我尝试生成一个无序列表,如下所示: <ul> <li>Continent <ul> <li>Countryname - Language</li> ... </ul> </li> <li>Con

我正在尝试根据网站头部的
标记构建一个语言菜单

我必须创建对象,一个用于大陆,一个用于语言,基于这两个对象,我尝试生成一个无序列表,如下所示:

<ul>
    <li>Continent
        <ul>
            <li>Countryname - Language</li>
            ...
        </ul>
    </li>
    <li>Continent
        <ul>...</ul>
    </li>
</ul>

我想我终于明白你想要什么了。您只能更改代码的这一部分:

if (lang[continent][country] == undefined) {
    lang[continent][country] = {};
}

lang[continent][country] = {country: country, language: language};
为此(将
国家定义为
阵列
):

请参阅JSFIDLE。

这个怎么样

var大陆={
“AF”:{
“名称”:“非洲”,
“国家”:{
“DZ”:“阿尔及利亚”,
“AO”:“安哥拉”,
“BJ”:“贝宁”,
“BW”:“博茨瓦纳”,
“BF”:“布基纳法索”,
“ZW”:“津巴布韦”
}
},
“作为”:{
“名称”:“亚洲”,
“国家”:{
“阿富汗”:“阿富汗”,
“AM”:“亚美尼亚”,
“香港”:“中国香港特别行政区”,
“在”:“印度”,
“ID”:“印度尼西亚”,
“日本”:“日本”,
“KZ”:“哈萨克斯坦”,
“TM”:“土库曼斯坦”,
“AE”:“阿拉伯联合酋长国”,
“乌兹别克斯坦”:“乌兹别克斯坦”,
“越南”:“越南”,
“YE”:“也门”
}
},
“欧盟”:{
“名称”:“欧洲”,
“国家”:{
“AL”:“阿尔巴尼亚”,
“AD”:“安道尔”,
“在”:“奥地利”,
“由”:“白俄罗斯”,
“BE”:“比利时”,
“BA”:“波斯尼亚和黑塞哥维那”,
“保加利亚”:“保加利亚”,
“HR”:“克罗地亚”,
“塞浦路斯”:“塞浦路斯”,
“捷克”:“捷克共和国”,
“丹麦”:“丹麦”,
“DD”:“东德”,
“EE”:“爱沙尼亚”,
“FO”:“法罗群岛”,
“FI”:“芬兰”,
“法国”:“法国”,
“德”:“德国”,
“GI”:“直布罗陀”,
“希腊”:“希腊”,
“GG”:“根西岛”,
“胡”:“匈牙利”,
“是”:“冰岛”,
“IE”:“爱尔兰”,
“IM”:“马恩岛”,
“它”:“意大利”,
“JE”:“Jersey”,
“LV”:“拉脱维亚”,
“LI”:“列支敦士登”,
“LT”:“立陶宛”,
“卢”:“卢森堡”,
“MK”:“马其顿”,
“MT”:“马耳他”,
“FX”:“法国大都会”,
“MD”:“摩尔多瓦”,
“MC”:“摩纳哥”,
“我”:“黑山”,
“荷兰”:“荷兰”,
“否”:“挪威”,
“波兰”:“波兰”,
“PT”:“葡萄牙”,
“罗马尼亚”:“罗马尼亚”,
“俄罗斯”:“俄罗斯”,
“SM”:“圣马力诺”,
“塞尔维亚”:“塞尔维亚”,
“CS”:“塞尔维亚和黑山”,
“SK”:“斯洛伐克”,
“SI”:“斯洛文尼亚”,
“西班牙”,
“SJ”:“斯瓦尔巴特和扬·马耶恩”,
“SE”:“瑞典”,
“CH”:“瑞士”,
“UA”:“乌克兰”,
“苏”:“苏维埃社会主义共和国联盟”,
“英国”:“联合王国”,
“VA”:“梵蒂冈城”,
“AX”:“奥兰群岛”
}
},
“非盟”:{
“名称”:“澳大利亚”,
“国家”:{
“作为”:“美属萨摩亚”,
“AQ”:“南极洲”,
“非盟”:“澳大利亚”,
“BV”:“Bouvet岛”,
“嗯”:“美国小离岛”,
“VU”:“瓦努阿图”,
“WF”:“沃利斯和富图纳”
}
},
“AM”:{
“名称”:“美国”,
“国家”:{
“AI”:“安圭拉”,
“AG”:“安提瓜和巴布达”,
“AR”:“阿根廷”,
“AW”:“阿鲁巴”,
“BS”:“巴哈马”,
“BB”:“巴巴多斯”,
“BZ”:“伯利兹”,
“BM”:“百慕大”,
“六”:“美属维尔京群岛”,
“美国”:“美国”,
“UY”:“乌拉圭”,
“VE”:“委内瑞拉”
}
},
“我”:{
“名称”:“中东”,
“国家”:{
“IR”:“伊朗”,
“智商”:“伊拉克”,
“IL”:“以色列”,
“JO”:“Jordan”,
“KW”:“科威特”,
“OM”:“阿曼”,
“QA”:“卡塔尔”,
“SA”:“沙特阿拉伯”,
“SY”:“叙利亚”,
“TR”:“土耳其”
}
}
}
变量语言={
“ab”:{
“姓名”:“阿布哈兹”,
“国家名称”:“国家名称”
},
“aa”:{
“姓名”:“远方”,
“nativeName”:“Afaraf”
},
“af”:{
“名称”:“南非荷兰语”,
“nativeName”:“南非荷兰语”
},
“ak”:{
“姓名”:“阿肯”,
“nativeName”:“Akan”
},
“sq”:{
“姓名”:“阿尔巴尼亚语”,
“nativeName”:“Shqip”
},
“am”:{
“姓名”:“阿姆哈拉语”,
“nativeName”:አማርኛ"
},
“ar”:{
“姓名”:“阿拉伯语”,
“国家名称”:“国家名称”
},
“安”:{
“名称”:“阿拉贡语”,
“nativeName”:“Aragonés”
},
“hy”:{
“姓名”:“亚美尼亚人”,
“国家名称”:“国家名称”
},
“作为”:{
“姓名”:“阿萨姆人”,
“nativeName”:অসমীয়া"
},
“av”:{
“姓名”:“Avaric”,
“国家名称”:“国家名称”
},
“ae”:{
“名称”:“Avestan”,
“nativeName”:“avesta”
if (lang[continent].countries == undefined) {
    lang[continent].countries = [];
}

lang[continent].countries.push({country: country, language: language});