Javascript 获取嵌套对象的值
我有以下对象,需要在其中检索“address”字段值Javascript 获取嵌套对象的值,javascript,object,arraylist,Javascript,Object,Arraylist,我有以下对象,需要在其中检索“address”字段值 var south= {}; south.address = { "South Building" :{ address: "7421 New York Avenue", address2: "", city: "Georgetown", state: "DC", zip: "10221", phone:"202.555.9999",
var south= {};
south.address = {
"South Building" :{
address: "7421 New York Avenue",
address2: "",
city: "Georgetown",
state: "DC",
zip: "10221",
phone:"202.555.9999",
fax: "202.555.6696"
}
};
我当前只能通过以下方式获取字段的名称:
Object.keys(south.address["South Building"])
返回:[“地址”、“地址2”、“城市”、“州”、“邮政编码”、“电话”、“传真”]
或
Object.key(south.address[“south Building”])[0]
返回:“地址”
我想得到“address”的值。有人有什么想法吗?您必须使用检索到的密钥:
var key = Object.keys(southland.address["SoCal Accounting"])[0];
var value = southland.address["SoCal Accounting"][key];
对于您的密钥数组:
var keys = Object.keys(southland.address["SoCal Accounting"]);
for(var i = 0; i < keys.length; i++) {
var key = keys[i];
console.log(southland.address["SoCal Accounting"][key]);
}
var keys=Object.keys(southland.address[“SoCal Accounting”]);
对于(变量i=0;i
我要问你的真正问题是,这个物体会改变吗?
如果未更改,则可以访问地址属性,如下所示:
south.地址[“南楼”]地址
如果它确实发生了变化(我假设“South Building”
最有可能发生变化),但总体结构是相同的,您将在这样的for循环中访问每个“Building”的地址
for(var building in south.address){
var address = south.address[building].address;
//do what you want with address here.
}
如果实际上内部对象的结构发生了变化(即,address
不是gauranteed属性),那么如果它是这样存在的,您仍然可以访问它:
for(var building in south.address){
if("address" in south.address[building]){
var address = south.address[building].address;
//do what you want with address here.
}
}
真管用!不过我不需要for循环,我需要的是value变量。谢谢