如何通过使用参数反复运行函数?

时间:2017-12-05 15:42:23

标签: javascript parameters

我的情况:

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),我会得到三个随机字母。

5 个答案:

答案 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)

或递归:

&#13;
&#13;
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;
&#13;
&#13;

答案 4 :(得分:0)

又一个递归解决方案:

&#13;
&#13;
function randomLetter() {
  return ('qwertyuiopasdfghjklzxcvbnm')[Math.floor(Math.random()*26)];
}

function randomWord(wordLength) {
  return (wordLength > 0) ? (randomWord(wordLength - 1) + randomLetter()) : '';
}

console.log( randomWord(10) );
&#13;
&#13;
&#13;