Roxylife
Roxy 빛나는 새벽
Roxylife
전체 방문자
오늘
어제
  • 분류 전체보기
    • 개발(회고록)현황일기
    • 개발CS지식
    • 알고리즘문제풀기
    • Git
    • 개발언어
      • HTML, CSS
      • JavaScript
    • 프론트엔드
      • React
    • Side Project
      • 혼자Project
      • 팀Project
    • 교육참여
      • [스파르타코딩클럽]
      • [저스트코드]

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • JUSTCODE6기
  • git
  • JUSTCODE
  • 힙한취미코딩이벤트
  • 개발
  • 신년운세코딩패키지
  • 저스트코드6기
  • 코코아톡클론
  • 스파르타코딩클럽
  • 스터디코드
  • 스파르타코딩클럽후기
  • 기업협업
  • 회고록
  • 팀프로젝트
  • 드림코딩
  • 바닐라JS크롬앱
  • 노마드코더
  • 코딩교육
  • JavaScript
  • 저스트코드

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Roxylife

Roxy 빛나는 새벽

개발언어/JavaScript

[JavaScript] 객체와 배열이 섞인 복잡한 객체 만들어서 접근하는 방법

2022. 7. 29. 16:00
이 스터디 코드에 접근하기 위해서는 Replit에서 풀었던 문제로 예시 들었다.

객체란(Object)?

 let myDog = {
    name: 'jang-gun',
    legs: 4,
    tails: 1
  }

 

< 객체에 접근하는 방법은 >

특정한 property에 key를 이용해서 value에 접근하는 것이다.

 

객체 속성 접근 [ Dot Notation ]  -> .  이용하기

function dotNotation() {
  // 아래의 코드는 수정하지 마세요.
  let testObj = {
    "hat": "ballcap",
    "shirt": "jersey",
    "shoes": "cleats"
  };

  // 아래의 코드를 수정해주세요.
  let hatValue = testObj;
  let shirtValue = testObj;
  
  hatValue = testObj.hat; // .hat 접근
  shirtValue = testObj.shirt; // .hat 접근
  
  // 아래의 코드는 수정하지 마세요.
  return hatValue + ' ' + shirtValue;
}

-> 변수 hatValue의 값으로 "hat" property의 value값을 할당한 것.

-> 변수 shirtValue의 값으로 "shirt" property의 value값을 할당한 것.

 

 

객체 속성 접근 [ Bracket Notaion ] -> [ ] 대괄호 이용하기

function bracketNotation() {
  // 아래의 코드는 수정하지 마세요.
  let testObj = {
    "an entree": "hamburger",
    "my side": "veggies",
    "the drink": "water"
  };

  // 아래의 코드를 수정해주세요.
  let entreeValue = testObj;
  let drinkValue = testObj;

  entreeValue = testObj['an entree']  // ['an entree'] 추가
  drinkValue = testObj['the drink']  // ['the drink'] 추가
  
  // 아래의 코드는 수정하지 마세요.
  return entreeValue + ' ' + drinkValue;
}

-> 변수 entreeValue의 값으로 "an entree" property의 value값을 할당한 것

-> 변수 drinkValue의 값으로 "the drink" property의 value값을 할당한 것.

여기까지는 쉽다. 객체 안의 여러 코드들이 들어있는 가운데 어떻게 접근해야 할까?

 

객체 안의 객체 접근

myStorage 객체의 속성에 접근하여 glove box 프로퍼티의 값을 변수 gloveBoxContents에 대입하는 문제!

function accessObject() {
  // 아래의 코드를 수정하지마세요.
  let myStorage = {
    "car": {
      "inside": {
        "glove box": "maps",
        "passenger seat": "crumbs"
       },
      "outside": {
        "trunk": "jack"
      }
    }
  };
  
  // 아래의 코드를 수정해주세요.
  let gloveBoxContents = myStorage.car.inside["glove box"]
  // 아래의 코드를 수정하지마세요.
  return gloveBoxContents;
}

 

일단, myStorage 객체 안의 car라는 key값이 있고, car 안의 "inside"와 "outside"로 나뉘어져 있는 걸 볼 수 있다. "glove box"라는 key값은 inside안의 있으므로, 

우리가 찾아야 하는 건 gloveBoxContents = myStorage.car.inside["glove box"] 라고 적을 수 있다.

 

객체 안의 배열 접근

함수의 리턴값이 "pine" 이 될 수 있도록 해주세요.

function accessArray() {
  //아래의 코드는 수정하지마세요.
  let myPlants = [
    {
      type: "flowers",
      list: [
        "rose",
        "tulip",
        "dandelion"
      ]
    },
    {
      type: "trees",
      list: [
        "fir",
        "pine",
        "birch"
      ]
    }
  ];
  
  // 아래에 코드를 작성해주세요.
  let foundValue = myPlants[1].list[1]
  // 아래의 코드를 수정하지마세요.
  return foundValue;
}

우리가 찾아야 하는 "pine"은 일단 myPlants 객체 안에 type: "flowers"와 type: "trees" 중에 2번째 속한 곳으로 들어가야 하기 때문에 myPlants[1]이 나올 수 있는 것이고,

그 상태에서 key값이 type이 아닌 list객체를 찾되, list안의 2번째 속하는 것이 "pine"이므로 myPlants[1].list[1] 라고 적을 수 있다.

 

이처럼, 배열의 모양이나 객체 안의 무엇이 있는지 잘 살펴본다면 접근할 수 있을 것이다.!!!

'개발언어 > JavaScript' 카테고리의 다른 글

[JavaScript] Dot Notation vs Bracket Notation 에 대해 알아보기  (0) 2022.07.30
[JavaScript] 지정된 범위에서 난수를 발생시키는 적당한 함수 <랜덤수> 분석해보기  (0) 2022.07.30
[JavaScript] 변수가 필요한 이유와 선언하는 방법  (0) 2022.07.29
[JavaScript] 데이터 타입 Data Types 의 종류  (0) 2022.07.27
Weather날씨 만들기  (0) 2021.09.04
    '개발언어/JavaScript' 카테고리의 다른 글
    • [JavaScript] Dot Notation vs Bracket Notation 에 대해 알아보기
    • [JavaScript] 지정된 범위에서 난수를 발생시키는 적당한 함수 <랜덤수> 분석해보기
    • [JavaScript] 변수가 필요한 이유와 선언하는 방법
    • [JavaScript] 데이터 타입 Data Types 의 종류
    Roxylife
    Roxylife
    꿈나무 FE개발자

    티스토리툴바