JavaScript

JavaScript* 객체 응용

해보구 2024. 3. 26. 14:08
반응형

for (let 새로만들 변수 in 객체이름)   이건 키를 반환함

for of 이건 객체의 값을 반환함

let phone = {
  company: "삼성",
  color: "펄 화이트",
  model: "갤럭시 S24 Ultra",
  price: 1200000,
};

// for in 문은 for of문과 달리 값이 아닌 키가 반복됨
for (let data in phone) {
  console.log(data);
  // console.log(phone.data);
  // key가 문자열이면 [] 대괄호 문법을 써야한다.
  console.log(phone[data]);
  // console.log(typeof data);
}

// 객체 프로퍼티 유무 확인
// phone에 새로운 프로퍼티 추가하고 싶음
console.log('===========================');
console.log('model' in phone);
//ex)  부정 조건문 만들 때 괄호 밖에 ! 두기.
// phone.memory = '22GB'; 기존에 요소가 있었으면 변화없음
// if (!('memory' in phone)) {
//   phone.memory = '32GB';
// }

console.log(phone);

let newkey = 'memory';
if (!('newkey' in phone)) {
  phone[newkey] = '32GB';    // 문자열이라 대괄호 
}
console.log(phone);

 

if 문에서 부정조건문 쓸 때 ! 는 괄호 밖으로 둬야함

 

 

 

객체의 중첩구조

//객체의 중첩구조
//예시 : 게시판

var articles = {
  totalCount: 25578, //총 게시물 수
  admin: "abc1234", //게시판 관리자 아이디
  page: 2558, //총 페이지 수
  articleList: [
    // 게시물 목록
    {
      bno: 3, //글번호
      title: "가위바위보", //글제목
      writer: "김짱껨뽀", //작성자
      content: "다덤벼 ^^", //글내용
      viewCount: 53, //조회수
      recomm: 10, //추천수
      regDate: "21-12-07", //작성일자
    },
    {
      bno: 2, //글번호
      title: "노는게", //글제목
      writer: "뽀로로", //작성자
      content: "제일조와~~~", //글내용
      viewCount: 253, //조회수
      recomm: 11, //추천수
      regDate: "21-12-06", //작성일자
    },
    {
      bno: 1, //글번호
      title: "아멘", //글제목
      writer: "개신교신자", //작성자
      content: "할렐루야", //글내용
      viewCount: 23, //조회수
      recomm: 5, //추천수
      regDate: "21-12-05", //작성일자
    },
  ],
};

console.log(articles.articleList.length);
console.log(articles.articleList[0]);
console.log(articles.articleList[2].content);



console.log('==========================');

// 모든 게시물의 작성자이름을 전부 추출해서 반복출력하세요.

for ( let bbs of articles.articleList) {
  console.log(bbs.writer)
}

// 연습예제 1.조회수 추출해서 총 더하기 2. 콘텐츠만 추출하기 3. 타이틀만 추출하기 등등 하면 좋음

 

객체안의 객체가 있을 경우에 코드

주의깊게 봐야할 건 배열안의 값을 찾을때 [] 괄호를 쓰는 부분을 기억하자.

반응형