如何从节点中的文本文件中删除换行符空白?

我正在写一个程序,给我随机的歌名,我已经input到一个文本文件。 这是我迄今为止的代码:

var fs = require('fs'), path = require('path'); fs.readFile('names.txt', 'utf8', function(err, data) { var arr = data.toString().split('\n'), names = []; for (var i in arr) { if (arr[i].length !== 0) { names.push(arr[i].trim()); } } console.log(names[1]); }); 

我注意到,每当我把一个奇数的console.log()语句,它返回空的换行符/空白。 我怎样才能解决这个问题或删除它? 谢谢你的帮助!

如果没有完整的细节,主要是文本文件的内容,你的情况并不完全清楚,但你可能打算在if之前修剪。

尝试像这样:

 for (var i in arr) { var trimmed = arr[i].trim(); if (trimmed .length !== 0) { names.push(trimmed); } } 

另外,你不应该在数组中for(.. in ..) ( 见这里 )。

如果你使用for(var i = 0; i < arr.length; i++) (你可以保持原样)

或者:

 var names = data.toString().split('\n').map(function(line){ return line.trim(); }).filter(Boolean);