Javascript JSON数组索引问题
我似乎无法使用网页上的javascript选项访问数组中的索引3。我看不到最后一个问题“你对你的选择满意吗?” 我不知道我错过了什么或者做错了什么 页面位置: 代码:Javascript JSON数组索引问题,javascript,arrays,json,Javascript,Arrays,Json,我似乎无法使用网页上的javascript选项访问数组中的索引3。我看不到最后一个问题“你对你的选择满意吗?” 我不知道我错过了什么或者做错了什么 页面位置: 代码: 变量数据={“冒险”:[ { “地点”:“你想要多大尺寸的比萨饼?”, “选项1”:{ “文本”:“大”, “值”:1}, “选择2”:{ “文本”:“中等”, “值”:1}, “选择3”:{ “文本”:“小”, “值”:1} }, { “地点”:“你想在比萨饼上加什么酱?”, “选项1”:{ “文本”:“Marinara”
变量数据={“冒险”:[
{
“地点”:“你想要多大尺寸的比萨饼?”,
“选项1”:{
“文本”:“大”,
“值”:1},
“选择2”:{
“文本”:“中等”,
“值”:1},
“选择3”:{
“文本”:“小”,
“值”:1}
},
{
“地点”:“你想在比萨饼上加什么酱?”,
“选项1”:{
“文本”:“Marinara”,
“值”:2},
“选择2”:{
“文本”:“牧场”,
“值”:2},
“选择3”:{
“正文”:“烧烤”,
“值”:2}
},
{
“地点”:“你想在比萨饼上加什么特色配料?”,
“选项1”:{
“文本”:“所有肉类”,
“值”:3},
“选择2”:{
“文本”:“所有蔬菜”,
“值”:3},
“选择3”:{
“文本”:“夏威夷语”,
“值”:3}
},
{
“地点”:“对您的选择满意吗?”,
“选项1”:{
“文本”:“是”,
“值”:1},
“选择2”:{
“文本”:“重新开始”,
“值”:0}
}
]};
var选择=0;
函数冒险(选择){
document.getElementById(“占位符”).innerHTML=“”+数据.冒险[选择].place+”“
+ ""
+data.Adventure[choice].option1.text
+“
”
+data.Adventure[choice].option2.text
+“
”
+data.Adventure[choice].option3.text;
}
欢迎来到比萨饼店
从这里开始
要进行故障排除,您需要检查浏览器控制台,并分析错误
当我检查浏览器控制台时,我发现Option3不见了
var data = {"Adventure": [
{
"place": "What size do you want your pizza?",
"option1": {
"text": "Large",
"value": 1},
"option2": {
"text": "Medium",
"value": 1},
"option3": {
"text": "Small",
"value": 1}
},
{
"place": "What sauce do you want on your pizza?",
"option1": {
"text": "Marinara",
"value": 2},
"option2": {
"text": "Ranch",
"value": 2},
"option3": {
"text": "BBQ",
"value": 2}
},
{
"place": "What specialty toppings do you want on your pizza?",
"option1": {
"text": "All meat",
"value": 3},
"option2": {
"text": "All veggies",
"value": 3},
"option3": {
"text": "Hawaiian",
"value": 3}
},
{
"place": "Satisfied with your choice?",
"option1": {
"text": "Yes",
"value": 1},
"option2": {
"text": "Start over",
"value": 0},
"option3": {
"text": "Start over",
"value": 0}
}
]};
请参见此处更新的代码,
选项3
在最后一种情况下不存在。因此,仅当对象中的最后一个选项可用时,才创建一个函数并返回选项3
var数据={
“冒险”:[{
“地点”:“你想要多大尺寸的比萨饼?”,
“选项1”:{
“文本”:“大”,
“价值”:1
},
“选择2”:{
“文本”:“中等”,
“价值”:1
},
“选择3”:{
“文本”:“小”,
“价值”:1
}
},
{
“地点”:“你想在比萨饼上加什么酱?”,
“选项1”:{
“文本”:“Marinara”,
“价值”:2
},
“选择2”:{
“文本”:“牧场”,
“价值”:2
},
“选择3”:{
“正文”:“烧烤”,
“价值”:2
}
},
{
“地点”:“你想在比萨饼上加什么特色配料?”,
“选项1”:{
“文本”:“所有肉类”,
“价值”:3
},
“选择2”:{
“文本”:“所有蔬菜”,
“价值”:3
},
“选择3”:{
“文本”:“夏威夷语”,
“价值”:3
}
},
{
“地点”:“对您的选择满意吗?”,
“选项1”:{
“文本”:“是”,
“价值”:1
},
“选择2”:{
“文本”:“重新开始”,
“值”:0
}
}
]
};
var选择=0;
函数冒险(选择){
var等规三=
document.getElementById(“占位符”).innerHTML=“”+数据.冒险[选择].place+”“+
"" +
data.Adventure[choice].option1.text+
“
”+
data.Adventure[choice].option2.text+
//检查选项3是否存在的生命周期,如果存在,则创建第三个选项
(函数isOptThree(){
if(data.advention[choice].option3){
返回“
”+
data.Adventure[choice].option3.text;
}否则{
返回“”;
}
}())
}
欢迎来到比萨饼店
从这里开始
讽刺的解决方案:)您可能还应该添加提示,让开发人员检查浏览器控制台日志。我确信控制台中至少有一个TypeError