将文件内容拆分为行的结果包含'undefined'

时间:2014-03-05 04:35:38

标签: javascript node.js

node.js似乎没有文件I / O的readline()方法,所以我不得不手动进行拆分:

fn='test.txt';

fs.readFile(fn, 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }
  var array = data.toString().split('\n');
  console.log(array);
});

file test.txt包含3行:

a
b
c

内容在 c 之后立即停止(没有额外的新行)。但是我输出如下:

[ 'a', 'b', 'c', '' ]

这让我很困惑。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

''未定义,文本文件通常以换行符结尾,因为它是行终止符。

"a\nb\nc\n".split("\n")

在最后一个\n之后的末尾有一个空字符串。

您可以将其分割(console.log(array.slice(0, -1))),但忽略空行可能更合适。