如何为对象创建,分配和访问新值?
声明新对象并向is添加新值对我来说是个问题。
任何人都可以帮助我吗?
var Countries = [
{
name : 'USA',
states : [
{
name : 'NH',
cities : [
{
name : 'Concord',
population : 12345
},
{
name : "Foo",
population : 456
}
/* etc .. */
]
}
]
},
{
name : 'UK',
states : [ /* etc... */ ]
}
]
试过这样:
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);
答案 0 :(得分:0)
您尝试使用new Country
和new State
之类的内容反复创建新对象,但您没有将其定义为函数。更简单的事情应该有效:
Countries[0].states[0].name = "Not New Hampshire";
console.log(Countries[0].states[0].name);
[编辑]:我也非常同意颠倒。请查看有关使用JavaScript中的数据结构(数组和对象)的教程。
答案 1 :(得分:0)
正如@uʍop-ǝpısdn评论的那样,你会发现很多教程。
在JavaScript中创建“newable”对象的常见模式之一是:
var Country = function(name, states){
this.name = name;
this.states = states || [];
}
var State = function(name, cities){
this.name = name;
this.cities = cities || [];
}
var Countries = [];
Countries.push( new Country("USA", [ new State("NH", ...), ... ]) );