我有一个包含其他对象的对象数组。目前,我声明它们的方式相当冗长。是否有更紧凑的方法来执行以下操作:
function city(name,population)
{
this.name = name;
this.population = population;
}
function state(name)
{
this.name= name;
this.cities = new Array();
}
function country(name)
{
this.name= name;
this.states = new Array();
}
Countries = new Array();
Countries[0] = new Country("USA");
Countries[0].states[0] = new State("NH");
Countries[0].states[0].cities[0] = new city("Concord",12345);
Countries[0].states[0].cities[1] = new city("Foo", 456);
...
Countries[3].states[6].cities[35] = new city("blah", 345);
有没有一种不那么冗长的声明这个设置的方法,类似于 XML 的布局方式,例如:
data =
usa
NH
concord: 34253
foo: 3423
blah: 99523
NC
place: 23522
Uk
foo
bar: 35929
yah: 3452
我无法弄清楚如何嵌套数组声明而不必不断地重复变量名。