하얀 코딩

[JavaScript - 5] 반복문 for / for of / for in 본문

JavaScript

[JavaScript - 5] 반복문 for / for of / for in

whitecoding 2022. 10. 25. 22:29

반복문

  • for of는 요소 출력으로 쓰인다.
  • for in(dex)은 인덱스 출력으로 쓰인다.
<script>
    const x = ['a','b','c']
    
    for (const result1 of x) {
      console.log(result1)
    } 
    // a
    // b
    // c
    
    for (const result2 in x) {
      console.log(result2,x[result2])
    }
    // 0 a
    // 1 b
    // 2 c
    
    for (let i=0; i<5; i++){ //초기화, 조건문, 증감문
      console.log(`${i}번째 입니다.`)
    }
    // 0번째 입니다.
    // 1번째 입니다.
    // 2번째 입니다.
    // 3번째 입니다.
    // 4번째 입니다.
</script>

반복문은 정의, 설명 보다 사용법이 제일 중요. 다양한 예제들을 보며 해석하자.

// 2 이상의 자연수를 입력받아 2부터 해당 수까지의 소수(prime number)들을 리턴.

function listPrimes(num) {
  let count = 0
  let result =''

  for(let i = 2; i <= num; i++){
    for(let j = 2; j <= i; j++){
      if(i % j === 0){
        count++
      }
    }
    if (count === 1){
      result += `${i}-`
      count = 0
    }
    else {
      count = 0
    }
  }
  result = result.slice(0,-1)
  return result
}

// output = listPrimes(18);
// console.log(output); // --> '2-3-5-7-11-13-17'
function makeMarginalString(str) {
  let result = ''

  for(let i = 0; i < str.length; i++){
    for(let j = 0; j <= i; j++){
      result += str[j]
    }
  }
  return result
}
// output = makeMarginalString('flower');
// console.log(output); // --> 'fflfloflowfloweflower'
// 문자열을 입력받아 해당 문자열에 중복된 문자(letter)가 존재하는지 여부를 리턴해야 합니다.

function hasRepeatedCharacter(str) {
  for(let i = 0; i < str.length; i++){
    for(let j = i+1; j < str.length; j++){
      if(str[i] === str[j]){
        return true
      }
    }
  }
  return false
}

// output = hasRepeatedCharacter('codestates');
// console.log(output); // --> true