[JavaScript] 배열과 반복문

ㅁ배열(array)

  • 여러 자료를 묶어서 활용할 수 있는 특수한 자료
> const str = "안녕하세요";
> str[2]
> str[str.length-1]

image

  • 배열 요소에 접근 배열 [인덱스]

    > const numbers = [273, 52, 103, 32]
    undefined
    > numbers[0]
    273
    > numbers[1]
    52
    > numbers[1 + 1]
    103
    > numbers[1 * 3]
    32
    
  • 배열 요소 개수 확인 배열.length

    > const fruits = ['배', '사과', '키위', '바나나']
    undefined
    > fruits.length
    4
    > fruits[fruits.length - 1]
    "바나나"
    
  • 배열 요소

    • push() : 배열 뒷부분에 요소 추가 → 배열.push(요소)
    • splice() : 배열 요소 제거 → 배열.splice(인덱스, 제거할 요소의 개수)
    > const itemsA = ['사과', '배', '바나나']
    > itemsA.splice(2, 1).  <!--배열의 2번 인덱스부터 1개요소 제거-->
    ["바나나"]
    > itemsA
    ["사과", "배"]
    
    • 값으로 요소 제거
      > const itemsB = ['사과', '배', '바나나']
      undefined
      > const index = itemsB.indexOf('바나나')
      Undefined
      > index
      2
      > itemsB.splice(index, 1)
      ["바나나"]
      > itemsB
      (2) ["사과", "배"]
      > itemsB.indexOf('바나나')
      -1
    
    • 특정 위치에 요소 추가
      > const itemsD = ["사과", "귤", "바나나", "오렌지"]
      Undefined
    
      > itemsD.splice(1, 0, "양파")
      []
    
      > itemsD
      ["사과", "양파", "귤", "바나나", "오렌지"]
    
    • 자료 처리 연산자, 함수, 메소드는 크게 비파괴적 처리와 파괴적 처리로 구분 → 메모리가 여유로운 현대의 프로그래밍 언어와 라이브러리는 자료 보호를 위해서 대부분 비파괴적 처리를 수행

ㅁ반복문

  • for in 반복문
    • 배열 요소를 하나하나 꺼내서 특정 문장을 실행할 때 사용
    const todos = ['우유 구매', '업무 메일 확인하기', '필라테스 수업']
    
    for (const i in todos) {
      console.log(`${i}번째 할 일: ${todos[i]}`)
    }
    
  • for of 반복문
    • 요소의 값을 반복할 때 안정적으로 사용 → for in 반복문과 다르게 반복 변수에 요소의 값이 들어감
    const todos = ['우유 구매', '업무 메일 확인하기', '필라테스 수업']
    for (const todo of todos) {
      console.log(`오늘의 할 일: ${todo}`)
    }
    
  • for 반복분
    • 특정 횟수만큼 반복하고 싶을 때 사용하는 범용적인 반복문
    const todos = ['우유 구매', '업무 메일 확인하기', '필라테스 수업']
    for (let i = todos.length - 1; i >= 0; i--) {
      console.log(`${i}번째 할 일: ${todos[i]}`)
    }
    
  • while 반복문
    • if 조건문과 달리 불 표현식이 true면 계속해서 문장을 실행
    • 조건이 변하지 않는다면 무한히 반복 실행하므로 조건을 거짓으로 만드는 내용이 문장에 포함되어야 함. 무한 루프: 반복문이 무한 반복되는 것
    • confirm() 함수를 사용하여 사용자에게 확인을 받는 대화상자 실행. → 확인은 true, 취소는 false로 입력 받아 조건이 false(거짓)일 때 반복문 종료.
    let i = 0
    while (confirm('계속 진행하시겠습니까?')) {
      // 사용자가 [확인] 버튼을 클릭하면 true가 되어 계속 반복합니다.
      alert(`${i}번째 반복입니다.`)
      i = i + 1
    }
    
    • 배열과 함께 사용
    let i = 0
    const array = [1, 2, 3, 4, 5]
    while (i < array.length) {
      console.log(`${i} : ${array[i]}`)
      i++
    }
    
  • 횟수를 기준으로 반복할 때는 코드를 간결하게 구현할 수 있는 for 반복문을 사용하는 것이 훨씬 편함. while 반복문은 조건에 큰 비중이 있을 때 사용하는 것이 효과적 ‘특정 시간 동안 어떤 데이터를 받을 때까지’, ‘배열에서 어떠한 요소가 완전히 제거될 때까지’ 등 조건을 기반으 로 사용하는 반복문에 while 반복문을 사용

    • break 키워드
      • switch 조건문이나 반복문을 벗어날 때 사용하는 키워드
    for (let i = 0; true; i++) {
      alert(i + '번째 반복문입니다.')
       // 진행 여부를 물어봅니다.
      const isContinue = confirm('계속 하시겠습니까?')
      if (!isContinue) {
        break
       }
    }
    // 프로그램의 종료를 확인
    alert('프로그램 종료')
    
    • continue 키워드
      • 반복문 안의 반복 작업을 멈추고 반복문의 처음으로 돌아가 다음 반복 작업을 진행
    for (let i = 0; i < 5; i++) {
      continue
    alert(i)
    }
    

댓글남기기