[JavaScript] 객체-객체-배열을 배열-객체로 만들기 (flatMap())

SUNNY·2024년 4월 1일

JavaScript

목록 보기
1/4

들어가며

  • 다음과 같이 객체-객체-배열배열-객체로 바꿔보자.

JavaScript Logo

변경 전 (객체-객체-배열)

{
  언어: [{name: "국어", id: 1}, {name: '영어', id: 2}],
  과학: [{name: "지구과학", id: 3}, {name: '생물학', id: 4}],
}

변경 후 (배열-객체)

[{name: "국어", id: 1}, {name: '영어', id: 2}, {name: "지구과학", id: 3}, {name: '생물학', id: 4}]

방법

Object.values(itemList).flatMap(category => category.map(item => item));
  • flatMap() 함수는 배열의 각 요소에 대해 콜백 함수를 실행하고, 콜백 함수의 반환값들을 하나의 평면화된 배열로 결합한다.
  • flatMap()의 각 요소인 categoryitemList 객체의 각 키(Key)에 해당하는 배열이다.
    • 이 배열은 카테고리마다의 아이템들을 나타낸다.
  • map() 함수를 사용하여 각 카테고리의 아이템들을 하나의 배열로 평면화한다.
    • 내부 map() 함수는 각 카테고리의 아이템들을 순회하며 반환한다.
  • 최종적으로 평면화된 배열이 반환된다.
profile
기억보다는 기록을.

0개의 댓글