2017-07-08 5 views
0

これは私のコードであり、毎回適切な環境に10個のリンクからなる各ブロックを表示したいと考えています。最初の10行が正しく表示されますが、2回目には最初の10行が表示され、2行目以降は10行ずつ表示されます。私は何が間違っているのか教えていただけますか?javascriptで各ブロックを一度表示する方法

私はconfigというオブジェクトを持っています。このオブジェクトには、広告主とenvの2つのオブジェクトがあります。 広告主オブジェクトには広告主がプロパティとしてあり、各広告主にはロケール、hotel_id、partner_idがあります。 envには3つの異なる環境があります。

for (var prop in config.advertisers) { 
    var partner= (`${prop}`); 
    var locales_number = config.advertisers[partner].locales.length; 

    var partner_folder = "<br>"+partner + "<br>" 
    document.write(partner_folder); 

    for (var prop in config.env) 
    { 
    var environment = (`${prop}`); 

     var envrironment_text = "<br>"+environment + "<br>" 

     document.write(envrironment_text); 


     for (i = 0; i < config.advertisers[partner].hotel_id.length; i+locales_number) 
     { 

      for (j = 0; j < config.advertisers[partner].locales.length; j++) { 

       var hotel_id = config.advertisers[partner].hotel_id[i]; 
       var locales = config.advertisers[partner].locales[j]; 

       link+= config.env[environment] + config.advertisers[partner].partner_id; 
       link+= "/" + locales ; 
       link+="/hotel/show?h[hotelId]="; 
       link+=hotel_id+ "<br>"; 
       i++; 
       if (i >= 10) { break; } 
       }    
     } 
    document.write(link); 
    } 

答えて

0

環境変数ごとにリンク変数をリセットする必要があります。これはあなたのdocument.write命令の直後に行うことができます。

document.write(link); 
//variable reset 
link = ''; 
関連する問題