无法返回JSON数组对象的倒数第二个元素的值

时间:2012-04-11 02:21:04

标签: javascript json

我无法获得以下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?

1 个答案:

答案 0 :(得分:3)

为什么你认为它会回到56和27?你意识到数组索引从0开始吗? 所以如果a = 3(长度 - 1,4 - 1 = 3)。

Math数组的第三个索引正是您在输出中看到的。

编辑:所以,为了得到倒数第二个,你的索引需要长度为2.(当然确保你的数组实际上足够长,不会遇到越界错误)