TIL

object 1

은지:) 2022. 7. 22. 08:15
728x90
λ°˜μ‘ν˜•

 

 

 

πŸ‘†μš” ν‘œλ₯Ό js μ–Έμ–΄λ‘œ 데이터 κ΅¬ν˜„μ‹œ μ•„λž˜μ™€ 같이 데이터 μ €μž₯이 ν•„μš”ν•˜λ‹€

 

 

 

let plan1Name = "Basic";
let plan1Price = 3.99;
let plan1Space = 100;
let plan1Data = 1000;
let plan1Pages = 10;
let plan2Name = "Professional";
let plan2Price = 5.99;
let plan2Space = 500;
let plan2Data = 5000;
let plan2Pages = 50;
let plan3Name = "Ultimate";
let plan3Price = 9.99;
let plan3Space = 2000;
let plan3Data = 20000;
let plan3Pages = 500;

 

 

plan[]Name

plan[]Price

plan[]Space

plan[]Data

plan[]Pages

 

이 λ°˜λ³΅λ˜λŠ”λ°...

 

 

이λ₯Ό μ“°λ €λ©΄

 

alert(plan2Name + "ν”Œλžœ 가격은 ν•œ 달에 " + plan2Price + "λ‹¬λŸ¬μž…λ‹ˆλ‹€.")

alert("μš©λŸ‰μ€ " + plan2Space + "GB이고, ...");

 

λ³€μˆ˜ λ‚˜μ—΄μ΄ λͺΉμ‹œ ν•„μš”ν•΄ 보인닀 πŸ˜…

데이터가 λŠ˜μ–΄λ‚˜λ©΄ λŠ˜μ–΄λ‚  수둝 μ½”λ“œλ„ κΈΈμ–΄μ§€κ³  κ΄€λ¦¬ν•˜κΈ° νž˜λ“ λ° 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 객체λ₯Ό μ“΄λ‹€

 

 

 

 

 

 

plan1{}

plan2{}

plan3{}

 

λΌλŠ” 3 묢음 μ•ˆμ—

 

 

각 κ°μ²΄λŠ” (예λ₯Ό λ“€μ–΄ plan1은)

 

{

name : basic,

price : 3.99,

space : 100,

transfer : 1000,

pages : 10

}

 

'ν‚€ : κ°’' ν˜•νƒœλ₯Ό κ°€μ§„λ‹€

 

 

πŸ‘‡ 이런 ν˜•νƒœ

let plan1 = {
  name: "Basic",
  price: 3.99,
  space: 100,
  transfer: 1000,
  pages: 10
};

 

 

 

 

 

 

객체 μ ‘κ·Ό

 

 

객체에 μ ‘κ·Ό ν•˜κΈ° μœ„ν•΄μ„  λ°‘μ˜ 문법을 보면 λœλ‹€.

 

let plan1 = {   
  name: "Basic"
};

let propertyName = "name"; // propertyName ν•¨μˆ˜μ— κ°’ name(plan1 속성값과 이름 동일)

console.log(plan1[propertyName]); // plan1[name]
let myObj = {
  property1: "hello",
  property2: [1,2,3,4,5],
  property3: {
    childproperty: "haha"
  }
};


// πŸ‘† 이 객체에 μ ‘κ·Όν•˜λ € ν•œλ‹€


let name = "property";
console.log(myObj[name+"1"]); // property1
console.log(myObj[name+"2"]); // property2
console.log(myObj[name+"3"]); // property3
console.log(myObj[name+"3"]["child"+name]); // property3[childproperty] 의 값은 'haha'

console.log(myObj.property1);
console.log(myObj.property2);
console.log(myObj.property3);
console.log(myObj.property3.childproperty);

 

 

 

 

 

 

 

객체 + λ°°μ—΄

 

 

let objData = {
  name: 50,
  address: { 
    email: "gaebal@gmail.com",
    home: "μœ„μ›Œν¬ 선릉2호점"
  },
  books: {
    year: [2019, 2018, 2006],
    info: [{
      name: "JS Guide",
      price: 9000
    }, {
      name: "HTML Guide",
      price: 19000,
      author: "Kim, gae bal"
    }]
  }
};

 

 

 

 

πŸ‘† 'html guide'에 μ ‘κ·Ό

let bookName = objData.books.info[1].name;
console.log(bookName);

 

objData λ³€μˆ˜λͺ…

.books 객체

info 속성 "info>λ°°μ—΄>객체"

[1] 인덱슀 번호 

.name 속성

 

 

 

 

 

 

replit 문제

 

 

 

 

 

처음 λ³Ό 땐 문제λ₯Ό μ΄ν•΄ν•˜μ§€ λͺ»ν–ˆλ‹€... πŸ’©

 

 

κ·Έλž˜μ„œ 일단 μžλ£Œλ₯Ό μ•„μ˜ˆ ν‘œλ‘œ λ§Œλ“€μ–΄λ³΄μ•˜λŠ”λ° (μ„ΈλΆ€λ‚΄μš©μ€ μž„μ˜λ‘œ 적음!)

 

 

 

 

이 ν‹€ μ•ˆμ—μ„œ 인자 (salesArr,reviewArr,likeArr) λ₯Ό 찍어내면 될 κ±° κ°™μ•˜λ‹€.

 

 

 

function getData(salesArr,reviewArr,likeArr){ // 3개의 인자 (λ°°μ—΄κ°’)
  

// μ†μ„±κ°’λ§Œ μ§€μ •ν•΄μ„œ 객체 λ§Œλ“€κΈ°, 객체 이름은 reuslt둜 μ •ν•΄μ£Όμ—ˆλ‹€ 

  reuslt = { 
    sumAmount : 0, 
    sumReview : 0,
    sumLike : 0,
  };

// 배열에 반볡문 λŒλ €μ„œ (length λŠ” μ–΄μ°¨ν”Ό λ‹€ κ°™μœΌλ‹ˆ κ°€μž₯ μ•žμ— μžˆλŠ” SalesArr λ₯Ό 씀)

   for(let i = 0; i < salesArr.length; i++){
    reuslt.sumAmount += salesArr[i][1];
    reuslt.sumReview += reviewArr[i][1];
    reuslt.sumLike += likeArr[i][1];
  }
  
  
// λΉ„μ–΄ μžˆλŠ” reuslt 객체
// reuslt.sumAmount 속성값 μœ„μΉ˜ μ„€μ •
// 받은 salesArr,reviewArr,likeArr μΈμžλ“€ [[],[],[]] λ°°μ—΄ μ•ˆμ— 배열이 ν˜•νƒœλ‹ˆ [i][1] λ₯Ό λ„£μ–΄μ€€λ‹€


return reuslt;

// reuslt 리턴!

 

 

 

μ΄λ ‡κ²Œ 되면 

 

 

μ΄λ ‡κ²Œ κ°€λ‘œλ‘œ ν•˜λ‚˜ν•˜λ‚˜μ”© 값이 λ§Œλ“€μ–΄μ§€λŠ” 것...!!!!!

 

 

 

 

 

728x90
λ°˜μ‘ν˜•