2017-01-01 2 views
0

Ich versuche, in einer Schleife für node.js Latin-Quadrat-Bibliothek zu verwenden, um einige Muster zu finden, die das Skript ausführen und nach 2 Minuten haben diesen Fehler:latin-square.js Maximale Call-Stack-Größe überschritten

RangeError: Maximum call stack size exceeded

var latinSquare = require("latinsquare"); 
var lookup; 
var loop; 
lookup = ls(); 

console.log("first: "+ lookup); 

/*---------------------------------------------------------------------------------------------------------------------------------*/ 
function find() { 
    lookup = ls(); 
    console.log("loop: " + lookup); 
    if(codeM(000000) == "1558" && codeM(111111) == "8691"){ 
     console.log("find: " + lookup); 
     clearInterval(loop); 
    } 
} 

loop = setInterval(find,500); 
/*---------------------------------------------------------------------------------------------------------------------------------*/ 
function ls(){ 
    var table = []; 
    lookup = latinSquare.generate([0,1,2,3,4,5,6,7,8,9]); 

    for(i=0;i<lookup.length;i++){ 
     for(d=0;d<lookup[i].length;d++){ 
      table.push(lookup[i][d]); 
     } 
    } 
    return table; 
} 
/*---------------------------------------------------------------------------------------------------------------------------------*/ 
function codeM(data){ 
    // this function return a result of mathematic procces. not call another function. 
} 

function padLeft(nr, n, str){ 
    return Array(n-String(nr).length+1).join(str||'0')+nr; 
} 
+0

kann Frage nicht bearbeiten! –

+0

Kommentar in der ersten Zeile "// Diese Funktion gibt ein Ergebnis von mathematischen procces zurück. Rufen Sie keine andere Funktion auf." Es ist ein Fehler Lassen Sie uns so tun, als ob es nicht existiert –

+1

Gibt es einen bestimmten Grund, warum Ihr Code doppelt verteilt ist? –

Antwort

0

Nun ... um ein Muster in einer mathematischen Funktion zu suchen, brauche ich diesen Code unten, um unendlich zu arbeiten. Ich bin ein Anfänger in Javascript und ich weiß nicht, wie es zu lösen ist

var latinSquare = require("latinsquare"); 

var count = 0;

setInterval (function() {

var table =[]; 

var search = latinSquare.generate([0,1,2,3,4,5,6,7,8,9]); 

for(i=0;i<search.length;i++){ 

    for(d=0;d<search[i].length;d++){ 

     table.push(search[i][d]); 

    } 
} 

count++; 

console.log (count + "......" + Tabelle);

}, 100);

+0

Es ist klar, dass im obigen Code nichts mehr als eine Endlosschleife ist, gibt es keine Funktion um alles zu suchen oder zu vergleichen. Aber das ist der Code, den ich will, und dann füge ich die Vergleichsfunktion hinzu –

Verwandte Themen