2016-05-11 260 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

所以现在你的问题解决了吗? –