객체 안의 객체 접근과 객체 안의 배열 접근

DevOps 블로그·2021년 11월 20일
1

다음과 같이 중첩된 객체에서 '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());

profile
IT 엔지니어를 향해 살아가는, 공부하는 기록들을 모아두고 있습니다.

0개의 댓글