我正在尝试加载两个txt文件并比较两者之间的差异。更具体地说,我每行循环一个文件并将其与另一个txt文件中的每一行进行比较。
在大多数情况下,一切正常,但我发现我只能访问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 :(得分:1)
也许您只是忘了在for循环中使用正确的变量名称? 你需要这个吗? :
if(phoneArray[i] === worArray[x]){
console.log("Found Match: " + worArray[x]);