inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

조건문 업그레이드 질문.

225

코딩이재미있어!

작성한 질문수 18

0

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

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

javascript nodejs react

답변 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("한식")["밥"]);



도움이 되길 바랍니다 : )

0

코딩이재미있어!

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

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

eslint 플러그인 설정

0

71

2

감정일기장 다이어리 필터 적용할때 컨텍스트를 Home에서 가져오는 특별한 이유가 궁금합니다.

0

70

2

Editor Component의 최적화 불가능 이슈

0

83

2

useCallback ⊂ useMemo

0

75

2

라이브러리 설치 질문

0

91

2

linter 질문

0

106

2

감정일기장 vercel 배포 후 새로 고침 시 404페이지가 뜨는 이유

0

76

2

Sort 메서드 관련 아티클

0

87

2

4.1) React.js를 소개합니다 강의를 듣고 궁금한 점이 생겼습니다.

0

76

2

html, body에 적용하는 css 스타일 질문입니다.

0

83

2

eslint.config.js 설정 질문입니다.

0

147

2

존재하지 않는 일기 url입력 시 alert이 두 번 떠요

0

84

1

교재(3쇄)와 강의 내용 문의

0

107

2

12.13) 하단 여백 스타일링 관련 질문 드립니다.

0

121

2

에러 질문드립니다

0

166

2

VSCode 설정 문의

0

193

2

PPT 코드 관련 질문

0

94

2

useEffect와 lifecycle문의

0

114

2

프론트엔드 학습 수준 문의

0

127

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

146

2

데이터 로딩중 화면만 계속 나와요!!

0

133

2

퍼블리셔일경우 어느정도 수준까지 강의를 들어야할까요

0

161

2

이후의 커리큘럼 문의

0

182

2

실슬환경 설정에서 save후 console.log 부분이 새로고침이 안되는현상입니다.

0

174

2