2017-12-05 13 views
-1

私の場合:パラメータを使用して関数を何度も実行するにはどうすればよいですか?

function randomLetter(){ 
    var random = letter[Math.floor(Math.random()*26)]; 
    return random; 
} 

function randomWord(wordLength){ 
    var random = randomLetter() + randomLetter() + randomLetter(); 
    return random; 
} 

にはどうすれparametesを使用してrandomLetter()関数x回を実行するコードを記述します。
例:パラメータに3を書きます。この関数は3つのランダムな文字を与えます。
randomLetter() + randomLetter() + randomLetter()の代わりにrandomWord(3)と書くだけで、3つのランダムな文字が得られます。

+3

['for([初期化]; [調子]; [final-expression]){...} '](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for) – Andreas

+3

いくつかのJavaScriptチュートリアルをご覧ください。繰り返し同じコードをX回(ループ)実行することは、プログラミング言語の基本的な部分です。 – Cerbrus

+0

forループ、whileループ、再帰など – epascarello

答えて

1

配列に各文字をバッファリングし、接合配列を返す別のアプローチは、。キーワードは0で変数iを初期化「のため」次の値i<wordLengthが停止された後

function randomWord(wordLength){ 
    var random ='' 
    for (var i = 0, i<wordLength, i++) { 
    random += randomLetter(); 
    } 
    return random; 
} 

カッコ内の最初のパラメータを:あなたのようなforループを使用することができます。このため

function randomWord(wordLength){ 
    var letters = []; 

    for (var i = 0; i < wordLength; i++) { 
     letters.push(randomLetter()); 
    } 

    return letters.join(""); 
} 
0

使用することができるforループ:

function randomWord(x){ 

    var random = []; 

    for(var a = 0; a < x; a++){ 
     random[a] = randomLetter(); 
    } 

    return random.join(""); 
} 
+2

このコードは機能しません。 –

+0

@EliRichardson私はなぜそうは見ません。説明できますか? – TVASO

+0

@TVASO JavaScriptは大雑把に型指定されています。 'int'は無効です。これはJavaコードのように見えます。 –

0

条件は、条件がまだ真であれば各実行の始めにテストし、そうでない場合はループを停止します。 3番目のi++は、ループが終了するたびに実行されるもので、この場合はiを1つ増やします。これはi = i + 1と同じです。ここ

は、いくつかのより多くの情報です:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration

+2

答えを更新していただきありがとうございます! – Cerbrus

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)
<div id="output" />

0

さらに別の再帰的なソリューション:

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

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

 
console.log(randomWord(10));

関連する問題