我的情况:
function randomLetter(){
var random = letter[Math.floor(Math.random()*26)];
return random;
}
function randomWord(wordLength){
var random = randomLetter() + randomLetter() + randomLetter();
return random;
}
如何使用参数编写运行randomLetter()
函数x次的代码
示例:我在参数中写入3,该函数将给我三个随机字母
因此,我不会写randomLetter() + randomLetter() + randomLetter()
,而只会写randomWord(3)
,我会得到三个随机字母。
答案 0 :(得分:1)
另一种方法,它将每个字母缓冲到一个数组中并返回连接的数组。
function randomWord(wordLength){
var letters = [];
for (var i = 0; i < wordLength; i++) {
letters.push(randomLetter());
}
return letters.join("");
}
答案 1 :(得分:0)
您可以使用for循环:
function randomWord(x){
var random = [];
for(var a = 0; a < x; a++){
random[a] = randomLetter();
}
return random.join("");
}
答案 2 :(得分:0)
为此你可以使用for循环,如:
function randomWord(wordLength){
var random =''
for (var i = 0, i<wordLength, i++) {
random += randomLetter();
}
return random;
}
&#39; for&#39;后面括号中的第一个参数关键字用0初始化i变量。下一个值i<wordLength
是停止条件,如果条件仍然为真,它将在每次运行开始时进行测试,否则它将停止循环。第三个i++
是每次循环结束时运行的,在这种情况下,它将i递增1,这与i = i + 1
相同。
这里有更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration
答案 3 :(得分:0)
或递归:
var letters = "abcdefghijklmnopqrstuvwxyz"
function randomLetter() {
return letters.charAt(Math.floor((Math.random() * 100)) % letters.length)
}
function getLetters(count) {
if (count-- < 1) return "";
return getLetters(count) + randomLetter() + ","
}
document.getElementById("output").innerText = getLetters(4)
&#13;
<div id="output" />
&#13;
答案 4 :(得分:0)
又一个递归解决方案:
function randomLetter() {
return ('qwertyuiopasdfghjklzxcvbnm')[Math.floor(Math.random()*26)];
}
function randomWord(wordLength) {
return (wordLength > 0) ? (randomWord(wordLength - 1) + randomLetter()) : '';
}
console.log( randomWord(10) );
&#13;