2014-11-17 2 views
0

나는 json 데이터를 가지고 있으며, 어린이와 그랜드 아이들의 수를 얻고 싶습니다.JSON 각 자녀의 자녀와 손자의 수를 계산하십시오.

나는이 시도했다 그러나 나는 각 아동의 그랜드 아이의 수 얻을 수 없습니다

JSON

var data = { "members":[ 
    { 
    "user_id":3961, 
    "parent_id":3895, 
    "first_name":"No", 
    "last_name":"Ah", 
    "avatar_url":null, 
    "sub_members":[ 
     { 
      "user_id":3965, 
      "parent_id":3895, 
      "first_name":"Uncle", 
      "last_name":"Bear", 
      "avatar_url":null, 
      "sub_members":[ 
       { 
       "user_id":3957, 
       "parent_id":3956, 
       "first_name":"Child1", 
       "last_name":"Bear", 
       "avatar_url":null 
       }, 
       { 
       "user_id":3957, 
       "parent_id":3956, 
       "first_name":"Child2", 
       "last_name":"Bear", 
       "avatar_url":null 
       }, 
       { 
       "user_id":3957, 
       "parent_id":3956, 
       "first_name":"Child3", 
       "last_name":"Bear", 
       "avatar_url":null 
       } 
      ] 
     } 
    ] 
    }]}; 

jQuery를

var count = 0; 

    for (property in data.members[0].sub_members){ 
     if(data.members[0].sub_members.hasOwnProperty(property)){ 
      count++; 
     } 
    } 
    console.log("total child = " + count); 

어떤 도움이 것 대단히 감사하겠습니다. 미리 감사드립니다!

답변

1

시도해보십시오.

var total=0; 
var countChildren=function(data,num){ 
     if(data.sub_members&&data.sub_members.length){ 
     var len=data.sub_members.length; 
     num+=len; 
     for(var i=0;i<len;i++){ 
      countChildren(data.sub_members[i],num); 
     } 
     } 
     return false; 
} 
countChildren(data.members,total); 
+0

어떻게 합계를 인쇄하나요? 대답 주셔서 감사합니다 :) –

+0

당신이 exec 후 countChildren 함수, 결과는 이미 param 합계에, 당신은 그것을 어디서나 인쇄 할 수 있습니다. – sayume

관련 문제