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

标签 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);
});

文件 test.txt 包含 3 行:

a
b
c

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

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

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

最佳答案

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

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

最后一个 \n 之后有一个空字符串。

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

关于javascript - 将文件内容拆分为行的结果包含 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22188636/

相关文章:

javascript - 基于 React Router 过滤映射对象

javascript - 防止页面在表单提交后重新加载

node.js - 跨 Node 应用程序共享 Redis session

javascript - 部署 Express 并使用路由前缀进行 react

node.js - 无法从 nodejs 上传到谷歌云或 firebase 存储桶

javascript - 原始 javascript 打印项目从 json 对象到列表中的屏幕

javascript - 将 span 的额外文本换行到下一行

node.js - 鉴于所有调用都是异步的,您如何在 lambda 中构建顺序 AWS 服务调用?

node.js - BrowserSync 无法在安装了 Nginx 的 VPS 上运行

javascript - jQuery 选择全部而不是某些字段