반복문과 배열

수경, Sugyeong·2021년 9월 3일
0

JavaScript

목록 보기
12/18
post-thumbnail

  • 배열과 반복문

  • 🥝 배열과 반복문

    문제 1)

    • 빈 배열 myArray에 100부터 110까지 요소를 추가하기
    function arrayLoop () {
      let myArray = [];
      for (let i = 100; i < 111; i++) {
        myArray.push(i)
      }
     return myArray
    }
    
    console.log(arrayLoop()) // [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110]

    기존에 가지고 있던 개념 지식을 살려서 강의 듣기 전에 혼자서 코드를 짜봤는데 결과가 제대로 나왔다!

    반복문이 제대로 순회하고 있는지를 확인하는 가장 쉬운 방법은 console을 찍어가면서 확인해보는 것이다. Javascript 디버깅 방법 중 가장 쉬우면서도 중요한 방법이 console을 찍어보는 것이다. 위의 예제의 경우에는 .push 메서드 전후로 console을 찍어보는 것이 효과적이다.

    function arrayLoop () {
      let myArray = [];
      for (let i = 100; i < 111; i++) {
        console.log('before push: ', myArray);
        myArray.push(i);
        console.log('after push: ', myArray);
      }
     return myArray
    }
    console.log(arrayLoop())

    배열과 반복문을 함께 자주 사용하는 이유에 대해 그동안 배운 배열과 반복문의 개념을 살려서 생각해본다면

    1. 같은 코드를 100번 혹은 그 이상 화면에 출력해야 할 때 반복문을 사용하지 않는다면 코드의 양이 비효율적으로 늘어난다. 그 중에 일부 코드의 내용을 수정해야 한다면 찾기도 어려울 것이다. 이처럼 유지보수가 어려워진다.

    2. 반복문을 통해 계산을 하게 된다면 빠르고 정확한 계산이 가능하다. 또한 새로운 배열을 작성하기 용이하다.

    문제 2)

    • Array의 요소를 순회하며 콘솔에 출력하기

      Array의 요소를 순회하며 콘솔에 출력한다는 의미는 배열에 들어있는 각 요소들이 각각 console에 출력된다는 의미이다. 이것은 배열이 그대로 출력된 것과는 다른 이야기이다.

    let colors = ['red', 'blue', 'orange', 'black'];
    
    for (let i = 0; i < 4; i++) {
      console.log(colors[i])
    }
    // red
    // blue
    // orange
    // black

    문제 3)

    • Number로 이루어진 Array의 요소를 순회하며 1씩 더하여 콘솔에 출력하기
    let myNumbers = [10, 20, 30, 40, 50];
    
    for (let i = 0; i < 5; i++) {
      console.log(myNumbers[i] + 1);
    }
    // 11
    // 21
    // 31
    // 41
    // 51

    만약 아래 처럼 인덱스에 + 1 을 한다면 그만큼 인덱스가 1씩 당겨져서 호출이 된다. 그러면 20, 30, 40, 50, undefined 가 출력이 된다.

      console.log(myNumbers[i + 1]);

    문제 4)

    • Array의 길이만큼 순회하기

    만약 Array의 요소가 수없이 많을 때 반복문을 사용해야 한다면 for문의 조건문에 들어갈 범위를 지정하는 것이 어려울 것이다. 매번 바뀔 때마다 일일이 계산하여 조건문의 범위를 지정할 수 없을 것이다. 이 때 우리가 생각할 수 있는 것은 배열의 실제 길이배열의 인덱스을 생각하는 것이다.

    배열의 실제 길이 = 배열의 인덱스 + 1
    배열의 인덱스 = 배열의 실제 길이 - 1

    를 활용한다면 예를 들어 a배열의 길이가 5938일 때 for문의 조건문에 들어갈 범위는 ' 1 < 5938(즉, a.length)' 이며 실제로 순회하는 인덱스는 5937이 될 것이다.

    let myNum = [1, 100, 88, 35, 571]
    for (let i = 0; i < myNum.length; i++) {
      console.log(myNum[i])
    }

    0개의 댓글