我正在写一个程序,它给我输入一个文本文件的随机歌曲名称。这是我到目前为止的代码:
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()语句时,它会返回空的换行符/空格。我该如何解决或删除它?谢谢你的帮助!
答案 0 :(得分:2)
如果没有完整的详细信息,主要是文本文件的内容,你的情况并不完全清楚,但你可能想在if之前修剪。
试试这样:
for(.. in ..)
此外,你不应该在数组(See here)中for(var i = 0; i < arr.length; i++)
。
如果你使用$_SERVER['SERVER_NAME']
(你可以完全保持原样),那就更好了。
答案 1 :(得分:1)
可替换地:
var names = data.toString().split('\n').map(function(line){
return line.trim();
}).filter(Boolean);