2016-05-11 16 views
0

Ich versuche, in zwei TXT-Dateien zu laden und die Unterschiede zwischen den beiden zu vergleichen. Genauer gesagt durchlaufe ich eine Datei pro Zeile und vergleiche sie mit jeder Zeile in einer anderen TXT-Datei.Elemente werden nicht zum Javascript-Array hinzugefügt

Zum größten Teil funktioniert alles, aber ich habe festgestellt, dass ich nur auf das Array innerhalb der lr.on('line') Funktion zugreifen kann. Allerdings habe ich das Array im globalen Gültigkeitsbereich deklariert. Hier

ist der Code:

var LineByLineReader = require('line-by-line'); 
 
var lr = new LineByLineReader('phones.txt'); 
 
var lr2 = new LineByLineReader('wor.txt'); 
 

 

 
var phoneArray = []; 
 
var worArray = []; 
 

 
lr.on('error', function(err){ 
 
    if(err){ 
 
     console.log("We have found the following error: " + err); 
 
    } 
 
}); 
 

 
lr2.on('error', function(err){ 
 
    if(err){ 
 
     console.log("We have found the following error: " + err); 
 
    } 
 
}); 
 
    
 
lr.on('line', function(line){ 
 
    phoneArray.push(line); 
 
}); 
 

 
lr2.on('line', function(line){ 
 
    worArray.push(line); 
 
}); 
 

 
for(var i = 0; i < phoneArray.length; i++){ 
 
     for(var x = 0; x < worArray.length; x++){ 
 
      if(array1[i] === array2[x]){ 
 
       console.log("Found Match: " + array2[x]); 
 
      } 
 
     } 
 
    }

+0

http://stackoverflow.com/help/mcve –

+0

Whare sind array1 [i] und array [2] innerhalb der for-Schleife Wo man sie definieren Vielleicht meinen Sie phoneArray und worArray?? –

+0

Überprüfen Sie die Reihenfolge der Ausführung, Schleifen Sie, bevor es Zeilen anfügt? Gibt es eine Art Callback vom "LineByLineReader" wenn es fertig ist? –

Antwort

1

Vielleicht nur vergessen haben, verwenden Sie die richtigen Variablennamen in Ihrer for-Schleife? Und Sie brauchen das nur? :

if(phoneArray[i] === worArray[x]){ 
       console.log("Found Match: " + worArray[x]); 
+0

Das war ein Fehler meinerseits. –

+0

Also jetzt ist dein Problem gelöst oder nicht? –

Verwandte Themen