다음과 같이 중첩된 객체에서 'simple'을 출력하려면 어떻게 접근해야할까?
let nestedObj = {
type: {
year: '2019',
'comment-type': [{
name: 'simple'
}]
}
}
<정답>
console.log(nestedObj.type['comment-type'][0].name)
우선, 객체를 호출 하는 방식을 써서 type에 접근한다.
=> nestedObj.type
그 다음에 'comment-type'에 접근한다.
=> nestedObj.type['comment-type']
그리고 다음 'comment-type' property의 값은 배열 구조(ex> let arr = []; 같은 형식)로 되어있기 때문에 인덱스를 통해서 접근한다.
=> nestedObj.type['comment-type'][0]
0번째 인덱스에 있는 name이라는 프로퍼티가 가지고 있는 simple이라는 프로퍼티 값에 접근한다.
=> nestedObj.type['comment-type'][0].name
이것을 콘솔로 호출하면 simple이 화면에 출력된다.
=> console.log(nestedObj.type['comment-type'][0].name)
Assignment
getAnswer 함수를 구현해 주세요.
getAnswer 함수는 아래의 객체에서 '샐러드' 라는 값을 출력합니다.
let myProfile = {
name: '김개발',
address: {
email: 'geabal@gmail.com',
home: '위워크'
},
'my favorite': {
food: [{
name: '샐러드',
price: 3500
},
{ name: '삼겹살',
price: 15000
}],
hobby: ['축구']
}
};
<정답>
function getAnswer() {
let result = myProfile['my favorite'].food[0].name;
return result;
};
console.log(getAnswer());