Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法返回JSON数组对象倒数第二个元素的值_Javascript_Json - Fatal编程技术网

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

Javascript 无法返回JSON数组对象倒数第二个元素的值,javascript,json,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, "

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

为什么您认为它会返回56和27?您知道数组索引从0开始吗?
所以如果a=3(长度-1,4-1=3)

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


编辑:所以,为了得到倒数第二个,你的索引需要是长度-2。(当然要确保数组的实际长度足以避免出现越界错误)

数组基于
0
。倒数第二个是
.length-2
。我还在想为什么我没有注意到这一点!谢谢