Javascript 对象长度不匹配
我以两种不同的方式输出对象的长度,它会导致两种不同的响应:Javascript 对象长度不匹配,javascript,json,Javascript,Json,我以两种不同的方式输出对象的长度,它会导致两种不同的响应: console.log(appData.HomeGateway.questions.length); console.log(appData.HomeGateway.questions); 产出: 3 0: Object 1: Object 2: Object 3: Object 4: Object 5: Object 6: Object 7: Object 8: Object length: 9 知道我为什么会得到两个不同的长度吗
console.log(appData.HomeGateway.questions.length);
console.log(appData.HomeGateway.questions);
产出:
3
0: Object
1: Object
2: Object
3: Object
4: Object
5: Object
6: Object
7: Object
8: Object
length: 9
知道我为什么会得到两个不同的长度吗?appData.questions似乎出于任何原因从其他对象继承对象
以下是JSON:
var appData = {
"HomeGateway": {
"company": "",
"title": {
"english": "",
"spanish": "",
"russian": "",
"otherlanguage": ""
},
"language": "english",
"pressOKQuestion": {
"left": {
"english": "Press ",
"spansih": "",
"russian": ""
},
"right": {
"english": " to move to the next question",
"spanish": "\" to move to the next question",
"russian": ""
}
},
"pressOKMessage": {
"left": {
"english": "Press ",
"spansih": "",
"russian": ""
},
"right": {
"english": " to move on",
"spanish": "\" to move to the next question",
"russian": ""
}
},
"pressUpDown": {
"left": {
"english": "Please press ",
"spanish": "",
"russian": ""
},
"middle": {
"english": " or ",
"spanish": "",
"russian": ""
},
"right": {
"english": " on your remote control to select",
"spanish": "",
"russian": ""
}
},
"questions": [{
"url": "/question/1",
"question": {
"english": "Have you talked to your doctor today?",
"spanish": "",
"russian": ""
},
"view": "views/question.html",
"controller": "loadData",
"nextPage": "#/question/2",
"answers": [{
"id": 1,
"answer": {
"english": "Yes",
"spanish": "Si",
"russian": ""
}
}, {
"answer": {
"english": "No",
"spanish": "No",
"russian": ""
},
"message": "/message/3"
}]
}, {
"url": "/question/2",
"question": {
"english": "On a scale of 0-10, how bad is your pain today?",
"spanish": "",
"russian": ""
},
"icon": "img/icons/1446585749_Doctor_Consultation.png",
"iconSrc": "Broken Arm",
"view": "views/question.html",
"controller": "loadData",
"nextPage": "#/question/3",
"answers": [{
"answer": {
"english": "Low",
"spanish": "",
"russian": ""
},
"category": "1-2"
}, {
"answer": {
"english": "Medium",
"spanish": "",
"russian": ""
},
"category": "3-4"
}, {
"answer": {
"english": "High",
"spanish": "",
"russian": ""
},
"category": "5-8",
"message": "/message/4"
}, {
"answer": {
"english": "Very High",
"spanish": "",
"russian": ""
},
"category": "9-10",
"message": "/message/4"
}]
}, {
"url": "/question/3",
"question": {
"english": "Please enter your systolic blood pressure.",
"spanish": "",
"russian": ""
},
"icon": "img/icons/1446585795_Blood_Pressure_Kit.png",
"iconSrc": "Blood Pressure",
"view": "views/toggle-question.html",
"controller": "loadData",
"nextPage": "#/finished",
"toggle": {
"value": 100,
"max": 500,
"min": 50,
"high": {
"value": 150,
"message": "/message/5"
},
"low": {
"value": 75,
"message": "/message/6"
}
}
}],
"messages": [{
"url": "/message/1",
"message": {
"english": "Please talk to your nurse or doctor about why you do not want to.",
"spanish": "",
"russian": ""
},
"icon": "img/alert-red.png",
"iconSrc": "Alert",
"view": "views/message.html",
"controller": "loadData",
"nextPage": "#/message/2"
}, {
"url": "/message/2",
"message": {
"english": "Good job!",
"spanish": "",
"russian": ""
},
"icon": "img/icons/1446586860_Best_Choice.png",
"iconSrc": "Thumbs Up!",
"view": "views/message.html",
"controller": "loadData",
"nextPage": "#/question/1"
}, {
"url": "/home",
"title": {
"english": "Thank you for being part of today.",
"spanish": "",
"russian": ""
},
"subtitle": {
"english": "Remember this device does not take place of a personal emergency response system or a call to 911.",
"spanish": "",
"russian": ""
},
"view": "views/home.html",
"controller": "loadData",
"nextPage": "#/question/1"
}]
}
}
注意:只是编辑了它,以反映我用于获取不同长度的方法。没有
appData.questions
。它必须是appData.HomeGateway.questions,这两种情况下都有三个问题(当然有)。下面是您自己的数据演示:
var-appData={
“家庭网关”:{
“公司”:“,
“标题”:{
“英文”:“,
“西班牙文”:“,
“俄文”:“,
“其他语言”:”
},
“语言”:“英语”,
“pressOKQuestion”:{
“左”:{
“英语”:“新闻”,
“spansih”:“,
“俄语”:”
},
“对”:{
“英语”:“转到下一个问题”,
“西班牙语”:“\”进入下一个问题“,
“俄语”:”
}
},
“按确认信息”:{
“左”:{
“英语”:“新闻”,
“spansih”:“,
“俄语”:”
},
“对”:{
“英语”:“继续前进”,
“西班牙语”:“\”进入下一个问题“,
“俄语”:”
}
},
“按向上向下”:{
“左”:{
“英语”:“请按”,
“西班牙文”:“,
“俄语”:”
},
“中间”:{
“英语”:“或”,
“西班牙文”:“,
“俄语”:”
},
“对”:{
“英语”:“在遥控器上选择”,
“西班牙文”:“,
“俄语”:”
}
},
“问题”:[{
“url”:“/问题/1”,
“问题”:{
“英语”:“你今天和你的医生谈过了吗?”,
“西班牙文”:“,
“俄语”:”
},
“视图”:“views/question.html”,
“控制器”:“加载数据”,
“下一页”:“#/question/2”,
“答案”:[{
“id”:1,
“答复”:{
“英语”:“是”,
“西班牙语”:“Si”,
“俄语”:”
}
}, {
“答复”:{
“英语”:“否”,
“西班牙语”:“否”,
“俄语”:”
},
“消息”:“/消息/3”
}]
}, {
“url”:“/问题/2”,
“问题”:{
“英语”:“在0-10分的范围内,你今天的疼痛有多严重?”,
“西班牙文”:“,
“俄语”:”
},
“icon”:“img/icons/1446585749_Doctor_Consultation.png”,
“ICONRC”:“断臂”,
“视图”:“views/question.html”,
“控制器”:“加载数据”,
“下一页”:“#/question/3”,
“答案”:[{
“答复”:{
“英语”:“低”,
“西班牙文”:“,
“俄语”:”
},
“类别”:“1-2”
}, {
“答复”:{
“英语”:“中等”,
“西班牙文”:“,
“俄语”:”
},
“类别”:“3-4”
}, {
“答复”:{
“英语”:“高”,
“西班牙文”:“,
“俄语”:”
},
“类别”:“5-8”,
“消息”:“/消息/4”
}, {
“答复”:{
“英语”:“非常高”,
“西班牙文”:“,
“俄语”:”
},
“类别”:“9-10”,
“消息”:“/消息/4”
}]
}, {
“url”:“/问题/3”,
“问题”:{
“英语”:“请输入您的收缩压。”,
“西班牙文”:“,
“俄语”:”
},
“图标”:“img/icons/1446585795_血压_Kit.png”,
“ICONRC”:“血压”,
“视图”:“视图/切换问题.html”,
“控制器”:“加载数据”,
“下一页”:“#/完成”,
“切换”:{
“价值”:100,
“最大”:500,
“最小”:50,
“高”:{
“价值”:150,
“消息”:“/消息/5”
},
“低”:{
“价值”:75,
“消息”:“/消息/6”
}
}
}],
“信息”:[{
“url”:“/消息/1”,
“信息”:{
“英语”:“请与您的护士或医生谈谈您不想这样做的原因。”,
“西班牙文”:“,
“俄语”:”
},
“图标”:“img/alert red.png”,
“iconSrc”:“警报”,
“视图”:“views/message.html”,
“控制器”:“加载数据”,
“下一页”:“#/message/2”
}, {
“url”:“/消息/2”,
“信息”:{
“英语”:“干得好!”,
“西班牙文”:“,
“俄语”:”
},
“icon”:“img/icons/1446586860_Best_Choice.png”,
“ICONRC”:“竖起大拇指!”,
“视图”:“views/message.html”,
“控制器”:“加载数据”,
“下一页”:“#/question/1”
}, {
“url”:“/主页”,
“标题”:{
“英语”:“谢谢你,贝恩
console.log(appData.HomeGateway.questions.length)
console.log(appData.HomeGateway)