Dictionary - init(grouping:by:)
init(grouping:by:) func groupMenuByCategory(_ menu: [MenuItem]) -> [MenuSection] {
if menu.isEmpty { return [] }
return Dictionary(grouping: menu, by: { $0.category })
.map { key, value in MenuSection(category: key, items: value) }
.sorted { $0.category > $1.category }
}
이 함수는 MenuItem 배열을 받아서 카테고리별로 그룹화하고, 각 그룹을 MenuSection 배열로 변환합니다. 각 단계는 다음과 같습니다: 빈 배열 검사: if menu.isEmpty { return [] }
메뉴가 비어 있는 경우, 빈 배열을 반환합니다.
그룹화: Dictionary(grouping: menu, by: { $0.category })
메뉴 항목을 category 기준으로 그룹화합니…