[英]How do I run a function over and over by using parameters?
我的情況:
function randomLetter(){
var random = letter[Math.floor(Math.random()*26)];
return random;
}
function randomWord(wordLength){
var random = randomLetter() + randomLetter() + randomLetter();
return random;
}
如何編寫使用參數運行x的randomLetter()
函數的代碼。
示例:我在參數中寫入3,該函數將給我三個隨機字母。
因此,我將只編寫randomWord(3)
,而不是編寫randomLetter() + randomLetter() + randomLetter()
randomWord(3)
,然后得到三個隨機字母。
另一種方法是將每個字母緩沖到一個數組中並返回連接的數組。
function randomWord(wordLength){
var letters = [];
for (var i = 0; i < wordLength; i++) {
letters.push(randomLetter());
}
return letters.join("");
}
您可以使用for循環:
function randomWord(x){
var random = [];
for(var a = 0; a < x; a++){
random[a] = randomLetter();
}
return random.join("");
}
為此,您可以使用for循環,例如:
function randomWord(wordLength){
var random =''
for (var i = 0, i<wordLength, i++) {
random += randomLetter();
}
return random;
}
'for'關鍵字之后的括號中的第一個參數用0初始化i變量。下一個值i<wordLength
是停止條件,如果條件仍然為true,它將在每次運行的開始進行測試,否則它將停止循環播放。 第三個i++
是每次循環結束時運行的i++
,在這種情況下,它將i加1,這與i = i + 1
相同。
這里是一些更多信息: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration
或遞歸:
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" />
另一個遞歸解決方案:
function randomLetter() { return ('qwertyuiopasdfghjklzxcvbnm')[Math.floor(Math.random()*26)]; } function randomWord(wordLength) { return (wordLength > 0) ? (randomWord(wordLength - 1) + randomLetter()) : ''; } console.log( randomWord(10) );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.