[혼자 공부하는 자바스크립트] 4장. 반복문

AnSuebin·2022년 11월 10일
0

04-1 배열

  • 여러개의 변수를 한번에 선언해 다룰 수 있는 자료형을 배열이라고 한다.

배열 만들기

  • 배열 내부에 들어있는 값 : 요소

배열 요소에 접근하기

  • 인덱스 내부에 계산식 넣을 수 있음

배열 요소 갯수 확인하기

  • 마지막 요소를 선택할때
fruits[fruits.length -1]

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

배열.push(요소)
배열[넣고 싶은 곳] = 값
배열[배열.length] = 딱 뒤에 넣고 싶은 값
  • 배열 볼 때 어떻게 보여질까?
>todos
(5) [1, 2, 3, 4, 5]

배열 요소 제거하기

배열.splice(인덱스, 제거할 요소의 갯수)
const index = 배열.indexOf(요소)
배열.splice(index, 1)

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

배열.splice(인덱스,0,요소)

자료의 비파괴와 파괴

  • 자바스크립트 : 자료 처리를 위해 다양한 연산자, 함수, 메소드를 제공
  • 자료 처리 연산자, 함수, 메소드는 크게 비파괴적 처리, 파괴적 처리로 구분 가능
    • 비파괴적 처리 : 처리 후에 원본 내용이 변경되지 않음
    • 파괴적 처리 : 처리 후에 원본 내용이 변경됨
  • 비파괴적 처리
    • 코드 실행 후에도 a, b의 원본 내용이 변하지 않음
  • 파괴적 처리
    • push와 같이 원본이 달라짐
  • 과거에는 메모리를 조금만 차지하는 것이 중요
    • 기본 자료 형이면 메모리를 조금 차지하기 떄문에 원본과 결과를 모두 메모리에 저장
    • but 배열처럼 크기가 어느정도인지 모르는 대상의 원본과 결과 모두 메모리에 저장하는 것은 위험
    • => 배열과 같이 거대해 질 수 있는 자료는 메모리를 절약 할 수 있게 대부분 파괴적 처리로 이루어짐
    • but 어쩔수 없는 원본 삭제의 위험성
    • 따라서 현대의 프로그래밍 언어는 메모리가 여유롭기 때문에 자료 보호를 위해 비파괴적 처리로 대부분 이루어짐.

04-2 반복문

for in 반복문

  • 반복 변수에는 요소의 인덱스들이 들어옴
  • for in 반복문은 코드블록에 써있는 코드를 추가해서 사용해야 안정적으로 쓸 수 있는 조금 위험한 반복문. for of 반복문과 for 반복문 활용하는 것이 좋음

for of 반복문

  • 반복 변수에는 요소들이 들어옴

for 반복문

  • 일반적으로 for 반복문은 특정 횟수만큼 반복하고 싶을 때 사용하는 범용적인 반복문
  • for문 ()안의 의미 : 0부터 시작해서 5미만이면 반복합니다.
    => 불값
  • 거꾸로 돌리기
for(let i = todos.length -1 ; i >= 0, i--){
	console.log(`${i}번째 할 일: ${todos[i]}`)
}

while 반복문

  • if 조건문과 다른 점은 문장을 한번만 실행하고 끝내는 것이 아니라 불 표현식이 true이면 계속해서 문장을 실행한다는 것
  • while 반복문 flase값 넣어줘 중지시키기
let i = 0
while (confirm('계속 진행하겠습니까?')){
	alert(`${i}번째 반복입니다.`)
    i = i + 1
}

break 키워드

  • 무한루프 아웃!
  • for문에서도 활용 가능
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)
}

=> 아무것도 출력되지 않음
=> continue 키워드를 만나면, 바로 다음 반복 작업으로 넘어가기 때문

  • 짝수의 합 구하기
let output = 0
for(let i = 1; i <= 10; i++){
	if(i % 2 ===1) {
    continue
    }
   output +=i
}

alert(output)
  • continue나 break는 자제하길!

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

  • 조건문이 여러겹 중첩 사용되면 : 중첩 반복문
  • 1차원 배열 : [1,2,3]
  • 2차원 배열 : [[1,2,3],[4,5,6]]
  • n차원 배열 : 일반적으로 반복문 n번 중첩
  • 직접적인 배열처리가 아닌, 출력을 n차원으로 해야하는 경우에도 반복문을 n번 중첩해서 사용해야 함
profile
고객에게 명료한 의미를 전달하고, 명료한 코드를 통해 생산성 향상에 기여하고자 노력합니다.

0개의 댓글