NodeJS意外在每个FS writeFile的开头添加未定义

问题描述 投票:0回答:1

每次运行脚本时,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!');
  });

当然感谢所有帮助! :)

node.js for-loop fs writefile
1个回答
0
投票

updatedText的值未定义。当您第一次执行updateText + = ...时,它将为值添加undefined

[var updatedText = ""将解决问题

以下是显示问题的摘要:

var a;
console.log(a+"text1")
var b = ""
console.log(b+"text2")
© www.soinside.com 2019 - 2024. All rights reserved.