2016-07-01 13 views
1
<html> 
    <body> 
    <script type="text/javascript"> 
    var categoryGroups = [ 
     { 
      Id: 1, Categories: 
      [ 
       { Id: 1 }, 
       { Id: 2 }, 
      ] 

     }, 
     { 
      Id: 2, Categories: [ 
       { Id: 100 }, 
       { Id: 200 }, 
      ] 

     } 
    ] 

    var category, categoryGroup, found = false; 
    for (i = 0; i < categoryGroups.length ; i++) { 
     categoryGroup = categoryGroups[i]; 
     for (j = 0; j < categoryGroup.Categories.length; j++) { 
      category = categoryGroup.Categories[j]; 
      if (category.Id === categoryGroup.Id) { 
       found = true; 

       break; 
    window.document.write("category"); 
      } 
     } 
     if (found) break; 
    } 

    </script> 
    </body> 
    </html> 

この入れ子配列を作成しました。入れ子配列の印刷オブジェクトが必要です。しかし、入れ子配列のオブジェクトを見つけることができません。このエラーを解決するには?移動break;出力以下javascript入れ子配列内のオブジェクトを見つける

+0

? –

+0

このネストされた配列 – Rahul

+0

のいずれかのオブジェクトを '{Id:1}'のように表示したいですか?あなたは 'category.Id === categoryGroup.Id'で何をしていますか? –

答えて

1

breakは反復と後ろの何が実行されます終了しているため。印刷するあなたのようなオブジェクト

window.document.write("category"); 
break; 

var categoryGroups = [{ Id: 1, Categories: [{ Id: 1 }, { Id: 2 }, ] }, { Id: 2, Categories: [{ Id: 100 }, { Id: 200 }, ] }], 
 
    category, categoryGroup, found = false, i, j; 
 

 
for (i = 0; i < categoryGroups.length ; i++) { 
 
    categoryGroup = categoryGroups[i]; 
 
    for (j = 0; j < categoryGroup.Categories.length; j++) { 
 
     category = categoryGroup.Categories[j]; 
 
     if (category.Id === categoryGroup.Id) { 
 
      found = true; 
 
      window.document.write("category " + category.Id); // swap 
 
      break;           // lines 
 
     } 
 
    } 
 
    if (found) break; 
 
}

+0

子オブジェクトを見つけていた:1.if idを印刷する必要があります:2.何をする必要がありますか? – Rahul

+0

あなたはどこで '2'を得ますか? idは同じですが、配列内の他の 'Id'ですか?上記のコードから –

+0

出力 "カテゴリ1"。同じ方法で私は "カテゴリ2"を印刷する必要があると仮定します。私は何をしなければならない? – Rahul

0

var categoryGroups = [ 
 
     { 
 
      Id: 1, Categories: 
 
      [ 
 
       { Id: 1 }, 
 
       { Id: 2 }, 
 
      ] 
 

 
     }, 
 
     { 
 
      Id: 2, Categories: [ 
 
       { Id: 100 }, 
 
       { Id: 200 }, 
 
      ] 
 

 
     } 
 
    ] 
 
categoryGroups.forEach(function(categoryGroup){ 
 
    console.log(categoryGroup.Id); 
 
    var category = categoryGroup.Categories.filter(function(category){ 
 
    return categoryGroup.Id == category.Id 
 
    }); 
 
    category.length && console.log(category); 
 
})

関連する問題