2012-02-29 2 views

答えて

0

アレイ上の$ .eachを使用するには:JSON(のは、ここで情報を呼び出すことができます)を考えると

$.each(student.subject, function (arrayIndex, arrayItem){ 
    console.log(arrayItem.science); 
}); 
+1

これは本当に行われるべきではありません。単純なforループよりもずっと遅いです。 – maxedison

+0

@maxedisonはちょうどperfテストを見ました、正直なところ、それはどれくらい遅いか分かりませんでした...良いアイオープナー – charlietfl

2

ないものをあなたはに走った問題が、問題の配列に比べて次の意志ループしてください:あなたは、一般的に、オブジェクトのプロパティをループに$.each()を使用することになり

for(var i = 0; i < student.subject.length; i++){ 
    //student.subject[i] refers to the current item in the array 
} 

。この場合、単純に配列をループしています。

+0

ありがとうございます。 – user1184100

1

は、ノード名、年齢、件名を持つオブジェクトです。 Subjectは、名前とブックのKey-Valueペアを含むJSONの配列です。

ここでは、対象のノードに最初にアクセスする必要があります。これは配列であり、各サブテクトを取得するために配列を繰り返します。キー値ペアは、各配列要素で再度アクセスできます。

以下は、コンテンツを反復するためのソースコードです。

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 
<style> 
</style> 
<script type="text/javascript"> 
$(document).ready(function() { 
var info={"student": { 
    "name": "Tom", 
    "age": 3, 
    "subject": [ 
     { 
      "science": "scscsc", 
      "book": "SciBook" 
     }, 
     { 
      "maths": "mmmm", 
      "book": "MathBook" 
     }, 
     { 
      "History": "hshshs", 
      "book": "hisBook" 
     } 
] 
}}; 
    var subjects=info["student"]["subject"]; 
    //Iterate all the subejcts present in the subject Node 

    for(i=0;i<subjects.length;i++){ 
    // Get the information of particular subejct 
     $.each(subjects[i],function(key,val){ 
      alert(i+"> Sub[ "+key+" ]="+val); 
     }) 
    } 
}); 
</script> 
</head> 
<body> 
</body> 
</html> 
+0

ようこそ!あなたが望むものなら、答えを受け入れることができます:) –

関連する問題