인프런 커뮤니티 질문&답변

코딩이재미있어!님의 프로필 이미지
코딩이재미있어!

작성한 질문수

[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

2.4) Spread 연산자와 Rest 매개변수

조건문 업그레이드 질문.

작성

·

152

0

그런데, 음식이 하나면 다행인데요~

만약에 한식 : "불고기"에서 뭐 비빔밥, 전, 이런것들도 추가를 하고 싶을 때는 어떻게 하죠? :)

답변 1

1

이정환 Winterlood님의 프로필 이미지
이정환 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("한식")[""]);



도움이 되길 바랍니다 : )

우와 정환님 너무 상세한 설명 감사드려요 .. 요즘 일이 바빠서 잘 공부 못하고있는데

완독 꼭 하고싶습니다! 곧 다 보고 리뷰 꼭 쓸게요!!

코딩이재미있어!님의 프로필 이미지
코딩이재미있어!

작성한 질문수

질문하기