Javascript 计算解析的整数差时获取NaN

Javascript 计算解析的整数差时获取NaN,javascript,Javascript,我有一个程序,它可以计算文本文件中的行数,并且运行良好。我想做的是计算两个不同文件中的行数并计算它们的差异,但是我得到NaN我将它们解析为整数,为什么它不是一个数字?我如何计算它们的差异?提前谢谢 filePath=process.argv[2]; fileBuffer=fs.readFileSync('filePath'); to_string=fileBuffer.toString(); 拆分_行=到_字符串。拆分(“\n”); filePath2=process.argv[2]; fil

我有一个程序,它可以计算文本文件中的行数,并且运行良好。我想做的是计算两个不同文件中的行数并计算它们的差异,但是我得到
NaN
我将它们解析为整数,为什么它不是一个数字?我如何计算它们的差异?提前谢谢

filePath=process.argv[2];
fileBuffer=fs.readFileSync('filePath');
to_string=fileBuffer.toString();
拆分_行=到_字符串。拆分(“\n”);
filePath2=process.argv[2];
fileBuffer2=fs.readFileSync('filePath2');
to_string2=fileBuffer2.toString();
分割线2=到线2.分割(“\n”);
//伐楠

console.log(“Calc:+parseInt(split\u lines2.length)-parseInt(split\u lines.length))
,因为您与
一起计算:

“计算:”
加上
分割线2.长度
,减去
分割线.长度
-此处无连接

将计算包装在
()
中,这样您的
+
就变成了串联而不是加法

/*filePath=process.argv[2];
fileBuffer=fs.readFileSync('filePath');
to_string=fileBuffer.toString();
拆分_行=到_字符串。拆分(“\n”);
filePath2=process.argv[2];
fileBuffer2=fs.readFileSync('filePath2');
to_string2=fileBuffer2.toString();
分割线2=到线2.分割(“\n”)*/
var split_lines2=[1,2];
var split_lines=[1]
//伐楠

console.log(“计算:”+(parseInt(split_lines2.length)-parseInt(split_lines.length))
让我们仔细看看这一行

console.log(“计算:+parseInt(分割线2.length)-parseInt(分割线2.length))
由于我没有这些var,让我们用一些演示编号来替换它们:


console.log(“计算:+10-5”)
Your
.readFileSync()
调用使用字符串常量,而不是从程序参数中获取的值。而且,即使它确实使用了变量,两个值也来自同一个参数。为什么要解析呢?数组的
.length
首先是一个整数。您得到的是
NaN
,因为
-
将一个链转化为一个无法添加到
“Calc”
中的数字。将
“计算:
更改为
“计算,
。重复的?不要将
+
用于字符串连接。改为使用模板文字。@认真地说,要清楚,执行顺序是从左到右,因此
“Calc:+10-5
将首先计算
“Calc:+10
,给出字符串
“Calc:10”
(字符串串联),然后尝试从中减去
5
。由于不能从字符串中减去数字,因此会得到
NaN