2016-12-26 6 views
0

配列を変更して他の配列を含むようにしました。最大呼び出しスタックサイズがを超えました。最大呼び出しスタックサイズが配列内の配列を超えました

app.selected.forEach(function(customer) { 
     app.dateInterval.forEach(function(dateint) { 
      customer[+dateint] = [] 

      app.eventsEmail.forEach(function(event) { 
       var date = event.Data; 
       date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); 
       date = date.setDate(date.getDate() + 1); 

       if (event.IdCustomer == customer.IdCustomer && (+date) == (+dataint)) 
        customer[+dateint].push(event); 


      }); 
     }); 
    }); 

誰かがそれを解決する方法を知っていますか?あなたはこのように行うことができます

+0

あなたがブラウザでデベロッパーツールでコードをdebugedしていますか? – azad

+0

'.forEach()'呼び出しの中で2つのネストされた '.forEach()'呼び出しの目的は何ですか? – guest271314

+2

これがコールスタックをオーバーフローさせる理由はありません。このすべてがどこから呼び出されたかのコードを追加できますか?すべての再帰呼び出し? – trincot

答えて

0

var size = app.selected.length; 
for(i=0;i<size;i++){ 
     var customer = app.selected[i]; 
     app.dateInterval.forEach(function(dateint) { 
      customer[+dateint] = [] 

      app.eventsEmail.forEach(function(event) { 
       var date = event.Data; 
       date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); 
       date = date.setDate(date.getDate() + 1); 

       if (event.IdCustomer == customer.IdCustomer && (+date) == (+dataint)) 
        customer[+dateint].push(event); 


      }); 
     }); 
    }); 
} 
+0

これはどのようにして問題を解決しますか?なにが問題だったの? –

+0

問題はあなたがアイテムと長さを増やしていて、foreachを持っているということです...無限ループ – Araz

関連する問題