Javascript在控制台上获取未定义的数据,而它不应该
我有以下数据:Javascript在控制台上获取未定义的数据,而它不应该,javascript,Javascript,我有以下数据: { "id":"01", "new":0, "closed":0, "locked":0, "subhere":[ { "id":"123", "subname":"somename" } ……等等 在控制台日志中,我将显示以下内容,请参阅注释: console.log('Level 1 ID: ' + obj.id); //This works! console.log('Level 1
{
"id":"01",
"new":0,
"closed":0,
"locked":0,
"subhere":[
{
"id":"123",
"subname":"somename"
}
……等等
在控制台日志中,我将显示以下内容,请参阅注释:
console.log('Level 1 ID: ' + obj.id); //This works!
console.log('Level 1 Closed ' + obj.closed); //This works!
console.log('Level 1 Locked ' + obj.locked); //This works!
console.log('Level 2 Subhere ID ' + obj.subhere.id); //This returns Undefined!
最后一个console.log给了我未定义的消息,但我不知道问题是什么…为什么
你知道我为什么在最后一个问题上没有定义吗?这里有一个数组,你把它当作一个对象来引用
因此,它应该是:
console.log(obj.subhere[0].id);
由于obj.subhere是一个数组,因此obj.subhere.id将是未定义的。您需要首先获取数组元素,它是对象
console.log('Level 2 Subhere ID ' + obj.subhere[0].id)
//---------------------------------------------^^^----
var obj={
id:01,
新:0,,
截止时间:0,
锁定:0,
分处:[{
id:123,
子名称:somename
}]
};
console.log'Level 2 Subhere ID'+obj.Subhere[0]。ID您应该使用此
console.log('Level 2 Subhere ID ' + obj.subhere[0].id);