인프런 커뮤니티 질문&답변
조건문 업그레이드 질문.
작성
·
197
0
그런데, 음식이 하나면 다행인데요~
만약에 한식 : "불고기"에서 뭐 비빔밥, 전, 이런것들도 추가를 하고 싶을 때는 어떻게 하죠? :)
답변 1
1
이정환 Winterlood
지식공유자
안녕하세요 이정환입니다.
만약 말씀하신대로 한식에 '비빔밥', '전' 등을 추가하고 싶다면 다음과 같이 해 주셔야 합니다.
const meal = {
한식1: "불고기",
한식2: "비빔밥",
한식3: "파전",
양식: "파스타",
중식: "짜장면"
};
const getMeal = (mealType) => {
return meal[mealType] || "굶기";
};
console.log(getMeal("한식1"));
console.log(getMeal("한식2"));
console.log(getMeal("한식3"));
객체의 key가 중복될 경우 가장 마지막 key의 프로퍼티만 저장되기 때문에 한식1, 한식2, 한식3 ... 이런 식으로 key를 바꿔가며 저장 해 주셔야 합니다.
아니면 이런 방법도 시도해 볼 수 있습니다.
다음은 '한식' 프로퍼티의 value를 배열로 설정하여 불고기, 파전, 비빔밥 3개의 요소를 저장한 예 입니다.
const meal = {
한식: ["불고기", "파전", "비빔밥"],
양식: "파스타",
중식: "짜장면"
};
const getMeal = (mealType) => {
return meal[mealType] || "굶기";
};
console.log(getMeal("한식"));
또는 다음과 같이 객체를 중첩해도 됩니다.
const meal = {
한식: {
고기: "불고기",
전: "파전",
밥: "비빔밥"
},
양식: "파스타",
중식: "짜장면"
};
const getMeal = (mealType) => {
return meal[mealType] || "굶기";
};
console.log(getMeal("한식"));
console.log(getMeal("한식")["고기"]);
console.log(getMeal("한식")["전"]);
console.log(getMeal("한식")["밥"]);
도움이 되길 바랍니다 : )





우와 정환님 너무 상세한 설명 감사드려요 .. 요즘 일이 바빠서 잘 공부 못하고있는데
완독 꼭 하고싶습니다! 곧 다 보고 리뷰 꼭 쓸게요!!