2016-05-11 236 views
0

我想加載兩個txt文件並比較兩者之間的差異。更具體地說,我正在循環每行一個文件,並將它與另一個txt文件中的每一行進行比較。元素不會添加到Javascript數組

大多數情況下,一切正常,但我發現我只能訪問lr.on('line')函數中的數組。但是我已經在全局範圍內聲明瞭該數組。

下面是代碼:

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是數組1 [i]和陣列[2]裏面的for循環中,可以定義他們也許你的意思是phoneArray和worArray??? –

+0

檢查執行順序,在循環完成後添加行嗎?當LineByLineReader完成時,是否存在某種回調? –

回答

1

也許你只是忘記使用合適的變量的名稱你在for循環? 你只需要這個? :

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

這是我的錯誤。 –

+0

所以現在你的問題解決了嗎? –