2017-12-05 12 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

몇 가지 자바 스크립트 자습서를 살펴보십시오. . 반복적으로 동일한 코드를 X 번 (루프) 실행하는 것은 모든 프로그래밍 언어의 기본 요소입니다. – Cerbrus

+0

for 루프, while 루프, 재귀 등 – epascarello

답변

1

배열로 각 문자를 버퍼와 결합 된 배열을 반환하는 또 다른 방법. (가) 키워드는 0과 내가 변수가 초기화 '에 대한'다음 값 i<wordLength이 정지 된 후

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

괄호의 첫 번째 매개 변수 :

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

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

    return letters.join(""); 
} 
0

당신은 사용할 수에 대한 루프 :

function randomWord(x){ 

    var random = []; 

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

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

이 코드는 작동하지 않습니다. –

+0

@EliRichardson 왜 안 보이지. 설명 할 수 있니? – TVASO

+0

@TVASO 자바 스크립트는 대충 입력됩니다. 'int'는 유효하지 않습니다. 자바 코드처럼 보입니다. –

0

이를 위해 당신은 같은 루프를 사용할 수 있습니다 조건은 조건이 여전히 참이면 각 실행의 시작 부분에서 테스트 할 것이고 그렇지 않으면 루핑을 중지 할 것입니다. 세 번째 i++은 루프가 완료 될 때마다 실행되는 것으로,이 경우에는 i를 하나씩 증가 시키며 이는 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));
여기

좀 더 정보입니다