[JS] for in과 for of 반복문 정리하기

김민승·2022년 10월 11일
2

for문의 구성요소들은 모두 선택적으로 사용할 수 있다.

for ...in 반복문

object(객체) 반복문.
객체의 Key값에 접근할 수 있지만, value 값 접근 x
반복 가능한 객체가 아니라면 for of문을 쓸 수 없으므로, for in문 써줘야함.

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

console.table(pocketmons);

// key 값 출력 
for ( let pocketmon in pocketmons) {
	console.log(pocketmon);
}

// value 값 출력하려면 이렇게 귀찮게 써줘야함
for ( let pocketmon in pocketmons) {
	console.log(`${pocketmons[pocketmon]}`);
}

for...of 반복문

for of 구문을 사용하기 위하서는 객체가 iterator 속성을 가지고 있어야 한다.

Object.keys
key값만 배열 형태로 반환해줌

Object.keys(pocketmons);

['피카츄', '라이츄', '파이리', '꼬부기', '버터플', '야도란', '피죤투', '또가스', '메타몽']

Object.values
value 값만 배열 형태로 반환해줌

Object.values(pocketmons);

[1, 2, 3, 4, 5, 6, 7, 8, 9]

Object.entries
key,value 형태의 배열들을 반환해줌

Object.entries(pocketmons)

0: (2) ['피카츄', 1]
1: (2) ['라이츄', 2]
2: (2) ['파이리', 3]
3: (2) ['꼬부기', 4]
4: (2) ['버터플', 5]
5: (2) ['야도란', 6]
6: (2) ['피죤투', 7]
7: (2) ['또가스', 8]
8: (2) ['메타몽', 9]

그러니까 for of 반복문이 배열에서 사용 가능하기 때문에, 위 메소드들을 활용해서 for of 문을 활용할 수 있다.

profile
꾸준함을 이길 방법은 없다

0개의 댓글