Javascript字符串以错误的顺序连接

Javascript字符串以错误的顺序连接,javascript,node.js,Javascript,Node.js,我试图从这三个数组中生成一个角色。我的代码如下所示,但是我不明白为什么字符串没有像我写的那样连接起来。它的某些部分丢失了,甚至在某些时候在开始时就出现了结尾。它偶尔会工作,但很多时候输出失败 //Arrays var character = ["man", "woman"]; var feature = ["one leg", "a drinking problem"]; var purpose = ["stay home", "leave home"]; function createSen

我试图从这三个数组中生成一个角色。我的代码如下所示,但是我不明白为什么字符串没有像我写的那样连接起来。它的某些部分丢失了,甚至在某些时候在开始时就出现了结尾
。它偶尔会工作,但很多时候输出失败

//Arrays
var character = ["man", "woman"];
var feature = ["one leg", "a drinking problem"];
var purpose = ["stay home", "leave home"];

function createSentence(){
    var char = getRandomItem(character);
    var feat = getRandomItem(feature);
    var purp = getRandomItem(purpose);
    var sentence = "A " + char + " with " + feat + ", that wants to " + purp + ".";
    return sentence;
}

// Gets a random item from an input array
function getRandomItem(array){
    var index = Math.floor(Math.random()*array.length);
    return array[index];
}
这是我在控制台里看到的<代码>在开始处,缺少“字符”-部分

.有酗酒问题,想离家出走

编辑:很抱歉没有包括这一点,因为我想这在这里也非常相关。我以为阵列很好,但我可能遗漏了什么。当我在解析完数组后打印出来时,它们看起来和我上面发布的完全一样

// How i set up my arrays
var character = parseTextFile("character.txt");
var feature = parseTextFile("feature.txt");
var purpose = parseTextFile("purpose .txt");

// Parsing a file
function parseTextFile(filename){
    var array = fs.readFileSync(filename).toString().split("\n");
    return array;
}

/* --- character.txt ---*/
man
woman
谢谢。

//我是如何设置阵列的
// How i set up my arrays
var character = parseTextFile("character.txt");
var feature = parseTextFile("feature.txt");
var purpose = parseTextFile("purpose .txt");

// Parsing a file
function parseTextFile(filename){
    //fs.read requires absolute path
    var array = fs.readFileSync(__dirname + '/' + filename, 'utf8') // <-- specify format
        .split('\n')
        .filter(function(text) { return !!text; }); // <-- return only not-empty string
    return array;
}
var character=parseTextFile(“character.txt”); var feature=parseTextFile(“feature.txt”); var-purpose=parseTextFile(“purpose.txt”); //解析文件 函数parseTextFile(文件名){ //fs.read需要绝对路径
var array=fs.readFileSync(uu dirname+'/'+文件名,'utf8')//我的输入是,
char
是一个保留关键字,它会弄乱你的连接,尝试重命名它。它出现了-你能展示你如何实际调用它并显示你的输出吗?@DrakaSAN不,它不是,在Javascript中没有
char
。是的,它非常有效fine@JamesThorpe很有意思,我得自己试试令人惊讶的是,我在这里发布的代码似乎也适用于我的计算机。我将在一秒钟内提供更多的源代码。