我无法获得以下JSON数组对象的长度。实际上我需要返回倒数第二个数组元素的值。
var myObject = { "Maths" : [{"Name" : "Amit", "Marks" : 67, "age" : 23 },
{"Name" : "Sandeep", "Marks" : 65, "age" : 21 },
{"Name" : "Shali", "Marks" : 56, "age" : 27 },
{"Name" : "Santosh", "Marks" : 78, "age" : 41 }] }
a = myObject.Maths.length - 1;
alert(a);
var b=new Object();
b.mk=myObject.Maths[a]['Marks'];
b.ag=myObject.Maths[a]['age'];
alert(b.mk);
alert(b.ag);
为什么当它应该返回56和27时返回78和41?
答案 0 :(得分:3)
为什么你认为它会回到56和27?你意识到数组索引从0开始吗? 所以如果a = 3(长度 - 1,4 - 1 = 3)。
Math数组的第三个索引正是您在输出中看到的。
编辑:所以,为了得到倒数第二个,你的索引需要长度为2.(当然确保你的数组实际上足够长,不会遇到越界错误)