NodeJS 在每个 FS writeFile 的开头意外添加未定义
NodeJS unexpectedly adding undefined in beginning of every FS writeFile
每次我 运行 我的脚本,undefined 都在开头,我不知道为什么。我想转换这个文件
user:pass
user:pass
user:pass
进入
username: user
password: pass
username: user
password: pass
username: user
password: pass
但每次我 运行 它最终都是..
undefinedusername: user
password: pass
username: user
password: pass
username: user
password: pass
我的 NodeJS 脚本如下:
var fs = require('fs');
var data = fs.readFileSync('details.txt', 'utf-8');
var updatedText;
data = data.replace(/:/g, '\n');
lines = data.split("\n");
for (line in lines) {
if (line % 2 == 0) {
updatedText += `username: ${lines[line]}\n`
} else if (line % 2 == 1) {
updatedText += `password: ${lines[line]}\n`
}
}
fs.writeFile('converted.txt', updatedText, function (err) {
if (err) throw err;
console.log('Saved!');
});
当然感谢所有帮助! :)
updatedText
的值未定义。当您执行 updatedText += ... 时,第一次运行时,它会将 undefined 添加到值
var updatedText = ""
将解决问题
这是显示问题的片段:
var a;
console.log(a+"text1")
var b = ""
console.log(b+"text2")
每次我 运行 我的脚本,undefined 都在开头,我不知道为什么。我想转换这个文件
user:pass
user:pass
user:pass
进入
username: user
password: pass
username: user
password: pass
username: user
password: pass
但每次我 运行 它最终都是..
undefinedusername: user
password: pass
username: user
password: pass
username: user
password: pass
我的 NodeJS 脚本如下:
var fs = require('fs');
var data = fs.readFileSync('details.txt', 'utf-8');
var updatedText;
data = data.replace(/:/g, '\n');
lines = data.split("\n");
for (line in lines) {
if (line % 2 == 0) {
updatedText += `username: ${lines[line]}\n`
} else if (line % 2 == 1) {
updatedText += `password: ${lines[line]}\n`
}
}
fs.writeFile('converted.txt', updatedText, function (err) {
if (err) throw err;
console.log('Saved!');
});
当然感谢所有帮助! :)
updatedText
的值未定义。当您执行 updatedText += ... 时,第一次运行时,它会将 undefined 添加到值
var updatedText = ""
将解决问题
这是显示问题的片段:
var a;
console.log(a+"text1")
var b = ""
console.log(b+"text2")