<script>
var output = {"regions":{"4441":"Avtonomna Respublika Krym","4431":"Cherkas'ka Oblast'","4432":"Chernihivs'ka Oblast'","4433":"Chernivets'ka Oblast'","4434":"Dnipropetrovs'ka Oblast'","4435":"Donets'ka Oblast'","4436":"Ivano-Frankivs'ka Oblast'","4437":"Kharkivs'ka Oblast'","4438":"Khersons'ka Oblast'","4439":"Khmel'nyts'ka Oblast'","4440":"Kirovohrads'ka Oblast'","4443":"Kyyivs'ka Oblast'","4445":"L'vivs'ka Oblast'","4444":"Luhans'ka Oblast'","4442":"Misto Kyyiv","4450":"Misto Sevastopol","4446":"Mykolayivs'ka Oblast'","4447":"Odes'ka Oblast","4448":"Poltavs'ka Oblast'","4449":"Rivnens'ka Oblast'","4451":"Sums'ka Oblast'","4452":"Ternopil's'ka Oblast'","788":"Ukraine","4453":"Vinnyts'ka Oblast'","4454":"Volyns'ka Oblast'","4455":"Zakarpats'ka Oblast'","4456":"Zaporiz'ka Oblast'","4457":"Zhytomyrs'ka Oblast'"}}
alert(output.regions[1]);
</script>
这部分给我未定义:
alert(output.regions[1]);
我如何获取第一个键/值对,例如。基本上我需要将其转换为选择下拉列表,数字键将是值,城市的名称将是选项文本。
答案 0 :(得分:3)
可以像:
一样迭代它for(key in output.regions) {
alert(key +' => '+output.regions[key]); // 4441 => Avtonomna Respublika Krym ...etc
}
答案 1 :(得分:2)
您需要使用您指定的键(例如regions
,4441
等)键入4431
,而不是数字索引:
var output = {"regions":{"4441":"Avtonomna Respublika Krym","4431":"Cherkas'ka Oblast'","4432":"Chernihivs'ka Oblast'","4433":"Chernivets'ka Oblast'","4434":"Dnipropetrovs'ka Oblast'","4435":"Donets'ka Oblast'","4436":"Ivano-Frankivs'ka Oblast'","4437":"Kharkivs'ka Oblast'","4438":"Khersons'ka Oblast'","4439":"Khmel'nyts'ka Oblast'","4440":"Kirovohrads'ka Oblast'","4443":"Kyyivs'ka Oblast'","4445":"L'vivs'ka Oblast'","4444":"Luhans'ka Oblast'","4442":"Misto Kyyiv","4450":"Misto Sevastopol","4446":"Mykolayivs'ka Oblast'","4447":"Odes'ka Oblast","4448":"Poltavs'ka Oblast'","4449":"Rivnens'ka Oblast'","4451":"Sums'ka Oblast'","4452":"Ternopil's'ka Oblast'","788":"Ukraine","4453":"Vinnyts'ka Oblast'","4454":"Volyns'ka Oblast'","4455":"Zakarpats'ka Oblast'","4456":"Zaporiz'ka Oblast'","4457":"Zhytomyrs'ka Oblast'"}}
alert(output.regions[4441]); // alerts "Avtonomna Respublika Krym"
答案 2 :(得分:1)
区域实体是一个对象而不是一个数组,因此您必须通过其关联的键选择其属性。
output.regions.4441
或
output.regions['4441']
答案 3 :(得分:1)
键“region”的值是一个映射,而不是一个数组 - 它没有排序,因此没有“第一个键/值对”的概念 - 如果你想要你必须强加你自己的排序之一。
答案 4 :(得分:1)
这是因为output.regions
是一个对象,而不是一个数组。您可能需要通过ID(778)访问,或者如果您不知道它,则可以迭代查找它。
for (k in output.regions) { var key = k; break; }
alert(output.regions[key]);
答案 5 :(得分:1)
没有“第一”价值。未订购javascript对象的属性。您可以迭代这样的javascript对象:
for(key in output.regions){
alert(output.regions[key])
}
并检查迭代周期,但无法保证订单不会意外更改。要获得有保证的订单,您需要使用数组。