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")