코딩에 갇힌 지 3일차(반복문)

Undong·2023년 3월 8일
0
post-thumbnail

Chapter 4

배열

  • 여러 자료를 묶어서 활용할 수 있는 특수한 자료
  • 여러 개의 변수를 한번에 선언해 다룰 수 있는 자료형
  • 대괄호[…]를 사용해 생성하고 내부의 값을 쉼표( , )로 구분해 입력합니다
  • 배열 내부에 들어 있는 값을 요소라고 한다.
[요소, 요소, 요소, ..., 요소]

배열 요소에 접근하기

  • 각각의 요소에 접근하려면 배열 바로 뒤에 대괄호[ … ]를 입력하고 그 안에 숫자를 넣습니다.
  • 자바스크립트는 가장 앞에 있는 요소를 0번째로 표현합니다.
  • 이때 요소의 순서를 인덱스라고 부름
배열[인덱스]

배열 요소 개수 확인하기

  • 배열 내부에 들어 있는 요소의 개수를 확인할 때는 배열의 length 속성을 사용합니다
배열.length

배열 뒷부분에 요소 추가하기

  • 배열 뒷부분에 요소를 추가할 때는 push()메소드를 사용합니다.
배열.push(요소)

배열 뒷부분에 요소 제거하기

  • 배열 뒷부분에 요소를 제거할 때는 pop() 메소드를 사용합니다
배열.pop()

배열 맨 앞부분에 요소 추가하기

  • 배열 맨 앞부분에 요소를 추가할 때는 unshift() 메소드를 사용합니다.
배열.unshift(요소)

배열 맨 앞부분에 요소 제거하기

  • 배열 맨 앞부분 요소 제거할 때는 shift() 메소드를 사용합니다
배열.shift()

인덱스를 사용해 배열 뒷부분에 요소 추가하기

  • 자바스크립트에서 배열의 길이는 고정이 아닙니다.
  • length 속성을 사용하여 배열의 마지막 위치에 요소를 추가할 수 있습니다.
배열[배열.length]

배열 요소 제거하기

인덱스를 기반으로 제거하는 경우

  • 배열에 특정 인덱스에 있는 요소를 제거 할때는 splice() 메소드를 사용합니다
  • splice() 메소드는 요소를 제거할 때뿐만 아니라 요소를 중간에 넣을 때도 사용할 수 있습니다.
배열.splice(인덱스, 제거할 요소의 개수)

값을 기반으로 제거하는 경우

  • 값을 기반으로 요소를 제거할 때는 배열 내부에서 특정 값의 위치를 찾는 indexOf() 메소드를 사용해서 값의 위치를 추출한 뒤 splice() 메소드를 사용해 제거합니다.
  • indexOf() 메소드는 배열 내부에 요소가 있을 경우 이네덱스를 리턴합니다.
  • 하지만 배열 내부에 요소가 없을 때는 -1을 리턴합니다.
const 인덱스 = 배열.indexOf(요소)
배열.splice(인덱스, 1)

배열의 특정 위치에 요소 추가하기

  • 배열의 특정 위치(인덱스)에 요소를 추가할 때는 splice()메소드를 사용합니다.
  • splice() 메소드의 2번째 매개변수에 0을 입력하면 splice() 메소드는 아무 것도 제거하지 않으며, 3번째 매개변수에 추가하고 싶은 요소를 입력합니다.
배열.splice(인덱스, 0, 요소)

자료의 비파괴와 파괴

  • 비파괴적처리 : 처리 후에 원본 내용이 변경되지 않습니다.
  • 파괴적 처리 : 처리 후에 원본 내용이 변경됩니다.

반복문

  • 컴퓨터에 반복을 지시 하는 방법

for in 반복문

  • 배열의 인덱스 기반으로 반복할 때 사용함
  • 배열과 함께 사용할 수 있는 반복문
  • 배열 요소를 하나하나 꺼내서 특정 문장을 실행할 때 사용합니다.
for(const 반복 변수 in 배열 또는 객체){
	문장
}

for of 반복문

  • 배열의 값을 기반으로 반복할때 사용합니다.
  • 요소의 값을 반복할 때 안정적으로 사용할 수 있다.
for(const 반복 변수 of 배열 또는 객체){ // for in 반복문과 다르게 반복 변수에 요소의 값이 들어감.
	문장
}

for 반복문

  • 일반적으로 for 반복문은 특정 횟수만큼 반복하고 싶을 때 사용하는 범용적인 반복문입니다.
  • for 반복문은 빠른 속도로 많은 양을 반복 작업하기 때문에 사용 범위가 넓습니다.
for(let i = 0; i< 반복 횟수; i++){
	문장
}

for 반복문과 함께 배열 사용하기

  • for 반복문은 배열과 조합할 수 있습니다.
  • 보통 배열의 length 속성만큼 반복을 돌리는 형태로 사용합니다.

while 반복문

  • 조건을 기반으로 반복할 때 사용합니다.
  • if 조건문과 형태가 매우 비슷한 반복문입니다.
  • if 조건문과 다른 점은 문장을 한번만 실행하고 끝나는 것이 아니라 불표현식이 true면 계속해서 문장을 실행한다는 것입니다.
  • 조건이 변하지 않는다면 무한히 반복 실행하므로 조건을 거짓으로 만들 수 있는 내용이 문장에 포함되어 있어야 합니다.
  • 무한 루프 : 반복문이 무한 반복 되는 것
while (불 표현식){
	문장
}

while 반복문과 함께 배열 사용하기

  • while 반복문과 for 반복문은 서로 대체해서 사용할 수 있습니다.

break 키워드

  • switch 조건문이나 반복문을 벗어날 때 사용하는 키워드
  • while 반복문은 조건이 항상 참이므로 무한 반복합니다. 이러한 무한 루프는 break 키워드를 사용해야 벗어날 수 있습니다.
while(true){

}break

continue 키워드

  • 반복문 안의 반복 작업을 멈추고 반복문의 처음으로 돌아가 다음 반복 작업을 진행합니다.

중첩 반복문을 사용하는 피라미드

  • 중첩 조건문과 마찬가지로 반복문을 여러 중첩해 사용하면 중첩 반복문이라고 부릅니다.
  • [1, 2, 3]처럼 배열이 한 겹으로 감싸진 배열을 1차원 배열, [[1,2,3],[4,5,6]]처럼 두겹으로 감싸진 배열을 2차원 배열이라고 부른다.

중첩 반복문 사용하기(1)

let output = '' // 실행코드

for(let i = 1; i<10; i++){
    for(let j = 0; j<i; j++){
        output += "*"
    }
    output += '\n'
}
console.log(output)
*         // 실행 결과
**
***
****
*****
******
*******
********
*********

중첩 반복문 사용하기(2)

let output = ''      //실행 코드

for(let i = 1; i<15; i++){
    for(let j = 15; j>i; j--){
        output += ' '
    }
    for (let k = 0; k<2*i-1; k++){
        output += "*"
    }
    output += '\n'
}
console.log(output)
	          *         //실행 결과
             ***
            *****
           *******
          *********
         ***********
        *************
       ***************
      *****************
     *******************
    *********************
   ***********************
  *************************
 ***************************
profile
console.log("Hello")

0개의 댓글