我目前正在为自定义名称生成器创建随机单词部分。每个值都与1-2个人合并以创建自定义名称。问题是,我希望某些字词部分包含随机字母。随机返回数组的函数是设置固定的结果 - javascript
我目前有一个数组设置,每个随机字部分和一个链接到这个随机字母创建者的函数。问题是,当数组第一次运行时,它将这些字母设置为特定的事物。因此,它使输出相同(对于那些“自定义”字母)。
我的代码如下:
//Letters in alphabet in order to generate more random outputs.
var alphabet = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
//Selects a random letter and outputs a return value.
var randomLetter = function(letterCase) {
var letterID = randomNumber(alphabet.length);
console.log(letterID);
if(letterCase === "C") {
return alphabet[letterID];
} else if(letterCase === "L") {
return alphabet[letterID].toLowerCase();
} else {
console.log("randomLetter function failed to generate a random letter. No set letter case.");
}
};
//Base names for town name generations. Called within a function.
var townNameStart = ["Ji", "Ri", "Li", "We", "Wete", "Lakeside Zi", "Za", "Mount "+randomLetter("C")+randomLetter("L")];
如果我跑console.log(townNameStart[7] +" "+ townNameStart[7]);
我希望它输出两个完全不同的字母组合。我不希望它在输出时像这样结束:i.imgur.com/YruxwPq.png。它需要每次有完全不同的字母(没有重新加载脚本)。如何调用数组中的函数(分配随机字母)以防止相同的字母输出?
我应该每次调用函数时都将数组自己设置为其原始状态?哪种解决方法最好(重新定义数组,或其他)?
仍在寻求帮助。
为什么你有一个功能做两件事?有一个函数生成一个随机数(并测试它的工作原理)并将一个调用传递给一个函数,该函数在该索引处返回字母表的字母(并测试字母函数的作用)'getLetter(genRandom(26) );'或者其他。你也不需要两个数组,'String.prototype.toUpperCase'存在。 –
你不知道为什么你的代码不工作,你问我如何将任务分解成单独的,最小的,可单独测试的部分将帮助? –
@JaredSmith我在使用.toUpperCase时出现错误,我再次仔细检查一下,以确认它不在我身上。做一些改变。我的问题是否清楚,还是需要澄清? – bdkopen