반복문을 돌려 보자 (for of / for in)

blueprint·2022년 5월 10일
0

1. for of

for of는 배열 반복문이며 for in에 비해 불필요한 속성들이 걸러져 출력된다.

for (let i of 'hello world') {
  console.log(i);
}

구조 분해 할당으로 반복문 동작시키기

for (let [i, j] of [
    [1, 2],
    [3, 4]
  ]) {
  console.log(i, j);
}

for (let [i, j] of [
    [
      [1, 2], 2
    ],
    [
      [1, 2], 4
    ]
  ]) {
  console.log(i, j);
}

for (let [
    [a, b], j
  ] of [
    [
      [1, 2], 2
    ],
    [
      [1, 2], 4
    ]
  ]) {
  console.log(a, b, j);
}


2. for in

for in은 객체 반복문이며 객체의 모든 속성들을 대상으로 반복문을 수행한다.

key 값만 출력하기 때문에 value 값을 출력하려면 리터럴 형식으로 작성해야 한다.

이렇게 key 값만 출력한다는 것을 확인할 수 있다.

object로 타입을 국한시켜 출력시켜 보기

let value = {
  피카츄: 1,
  라이츄: 2,
  파이리: 3,
  꼬부기: 4,
  버터플: 5,
  야도란: 6,
  피죤투: 7,
  또가스: 8,
  메타몽: 9,
};

typeof value
  'object'
for (let i in value) {
  console.log(i);
}

리터럴 형식으로 value 값을 출력해 보는 방법

key 값과 문자열의 문자 하나하나가 번갈아 가며 출력되는 형태

for (let i in 'hello world') {
  // key 값 출력
  console.log(i);
  // 문자열의 처음부터 끝까지 차례대로 출력
  console.log('hello world' [i]);
}

3. 배열 형태로 반환하는 메서드

1️⃣ Object.keys

key 값만 배열 형태로 반환한다.

let value = {
  피카츄: 10,
  라이츄: 20,
  파이리: 30,
  꼬부기: 40,
  버터플: 50,
  야도란: 60,
  피죤투: 70,
  또가스: 80,
  메타몽: 90,
};

let 포켓몬 = Object.keys(value3);
for (let i of [10, 20, 30, 40]) {
  console.log(i);
}

2️⃣ Object.values

value 값만 배열 형태로 반환한다.

3️⃣ Object.entries

key : value 쌍을 배열 형태로 반환한다.

for (let i of Object.entries(value)) {
  console.log(i);
}

keyvalue를 각각 i와 j로 순회해 출력하기

for (let [i, j] of Object.entries(value)) {
  console.log(i);
  console.log(j);
}

0개의 댓글