1

次の JSON 配列オブジェクトの長さを取得できません。実際には、最後から 2 番目の配列要素の値を返す必要があります。

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 を返すのはなぜですか?

4

1 に答える 1

3

なぜ 56 と 27 を返すと思いますか? 配列のインデックスが 0 から始まることをご存知ですか?
したがって、a = 3 (長さ - 1、4 - 1 = 3) の場合。

Math の配列の 3 番目のインデックスは、まさに出力に表示されているものです。

編集:したがって、最後から2番目を取得するには、インデックスの長さを2にする必要があります(もちろん、配列が実際に範囲外エラーにならないように十分な長さであることを確認してください)

于 2012-04-11T02:24:45.207 に答える