September 29, 2021
개별 자료 구조에서 한발 뒤로 물러나 순회(iteration)에 관해 이야기 나누어봅시다.
이전 챕터에서 우리는 순회에 필요한 메서드 map.keys()
, map.values()
, map.entries()
에 대해 알아보았습니다.
이 메서드들은 포괄적인 용도로 만들어졌기 때문에 메서드를 적용할 자료구조는 일련의 합의를 준수해야 합니다. 커스텀 자료구조를 대상으로 순회를 해야 한다면 이 메서드들을 쓰지 못하고 직접 메서드를 구현해야 합니다.
keys()
, values()
, entries()
를 사용할 수 있는 자료구조는 다음과 같습니다.
Map
Set
Array
일반 객체에도 순회 관련 메서드가 있긴 한데, keys()
, values()
, entries()
와는 문법에 차이가 있습니다
일반 객체엔 다음과 같은 메서드를 사용할 수 있습니다.
[키, 값]
쌍을 담은 배열을 반환합니다.객체엔 map
, filter
같은 배열 전용 메서드를 사용할 수 없습니다.
하지만 Object.entries
와 Object.fromEntries
를 순차적으로 적용하면 객체에도 배열 전용 메서드 사용할 수 있습니다. 적용 방법은 다음과 같습니다.
Object.entries(obj)
를 사용해 객체의 키-값 쌍이 요소인 배열을 얻습니다.