> πŸ™‹λͺ©ν‘œ: μžλ°”μŠ€ν¬λ¦½νŠΈ 기초λ₯Ό κ³΅λΆ€ν•˜κ³  λΆ€μ‘±ν•œ 뢀뢄을 μ±„μš°μž.

1. Object (객체)


μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ μ—¬λŸ¬κ°€μ§€ 데이터 νƒ€μž…μ„ μ €μž₯ν•΄λ³΄μž.

const data = 1;
const data1 = 3.14;
const data2 = "데이터";
const data3 = 9.321;
const data4 = 2000;

μ΄λŸ°μ‹μ˜ μ½”λ“œ μž‘μ„±λ²•μ€ λ¬Έμ œκ°€ 뭘까? μ΄λŠ” μš°λ¦¬κ°€ ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λŠ” μ˜λ―Έκ°€ ν‡΄μƒ‰λœλ‹€. μš°λ¦¬λŠ” ν”„λ‘œκ·Έλž˜λ°μ„ 톡해 μ‰½κ²Œ κ΄€λ¦¬ν•˜κ³  μš°λ¦¬κ°€ ν•˜μ§€ λͺ»ν•˜λŠ” 일을 κ΅¬ν˜„ν•˜λŠ” 것이닀. 이런 λ§Žμ€ λ°μ΄ν„°λŠ” Object(객체)둜 ν‘œν˜„ν•  수 μžˆλ‹€.

const obj = {
	data: 1,
  data1: 3.14,
  data2: "데이터",
	data3: 9.321,
  data4: 2000,
}
  • κ°μ²΄λŠ” {μ€‘κ΄„ν˜Έ} 둜 감싸져 있고 key와 value둜 이루어져 μžˆλ‹€.
  • 속성: 속성이름 ν˜•μ‹μœΌλ‘œ μž‘μ„±ν•œλ‹€.

속성을 μž‘μ„±ν•˜λŠ” 것은 κ·œμΉ™μ΄ μžˆλ‹€.

  • 속성 이름은 쀑볡될 수 μ—†λ‹€.
  • 속성과 속성값 μ‚¬μ΄μ—λŠ” : (콜둠)으둜 κ΅¬λΆ„ν•œλ‹€.
  • 속성을 μΆ”κ°€ν• λ•ŒλŠ” , (μ‰Όν‘œ)λ₯Ό λΆ™νžŒλ‹€.
  • 속성값은 μ–΄λŠ 데이터 νƒ€μž…μ΄λ‚˜ κ°€λŠ₯ν•˜λ‹€(λ¬Έμžν˜•, μˆ«μžν˜•, λ°°μ—΄, 객체, ν•¨μˆ˜...)

ν•΄λ‹Ήν•˜λŠ” 객체의 속성값을 μ ‘κ·Όν•˜κ³  싢을 λ•Œλ„ 방법이 μžˆλ‹€.

객체이름.속성이름 λ˜λŠ” 객체이름["속성이름"]

console.log(obj.data); //1
console.log(obj["data3"]); //9.321

λ‹€μŒμœΌλ‘œ HTML Guide에 μ ‘κ·Όν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•˜λ©΄ 될까?

let objData = {
  name: "이름",
  address: { 
    email: "office@gmail.com",
    home: "μ„œμšΈ"
  },
  books: {
    year: [2019, 2018, 2006],
    info: [{
      name: "JS Guide",
      price: 9000
    }, {
      name: "HTML Guide",
      price: 19000,
      author: "Tae Hyun"
    }]
  }
};
console.log(objData.books.info[1].name);

2. Assignment


μ΄μ œκΉŒμ§€ ν•˜μ…¨λ˜ Assignment μ™€λŠ” 쑰금 λ‹€λ₯Έ μœ ν˜•μž…λ‹ˆλ‹€.κ·Έ λ™μ•ˆμ—λŠ” νŠΉμ •κ°’μ„ κ΅¬ν•΄μ„œ 리턴 ν–ˆλ‹€λ©΄, μ΄λ²ˆμ—λŠ” 인자둜 받은 데이터λ₯Ό μ‘°ν•©ν•΄μ„œ, ꡬ쑰λ₯Ό λ°”κΏ”μ„œ λ¦¬ν„΄ν•©λ‹ˆλ‹€.

getData ν•¨μˆ˜λ₯Ό κ΅¬ν˜„ν•΄μ£Όμ„Έμš”!

  • *getData ν•¨μˆ˜λŠ” μ„Έ 개의 배열을 인자둜 λ°›μŠ΅λ‹ˆλ‹€.**
    • salesArr : λ‚ μ§œλ³„ νŒλ§€λŸ‰
      • ex) [["20190401", 34], ["20190402", 23], ["20190403", 29]]
    • reviewArr : λ‚ μ§œλ³„ 리뷰수
      • ex) [["20190328", 3], ["20190401", 0], ["20190403", 1]]
    • likeArr : λ‚ μ§œλ³„ μ’‹μ•„μš”μˆ˜
      • ex) [["20190328", 98], ["20190401", 102], ["20190403", 125]]
  • μœ„μ˜ μ˜ˆμ‹œλ‘œ λ³΄μ—¬λ“œλ¦° 배열은 단지 μ˜ˆμ‹œμΌ 뿐, λ‚ μ§œλ³„ νŒλ§€λŸ‰ 배열은 365일치 μš”μ†Œκ°€ λ“€μ–΄μžˆμ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
  • μ™œ 각각 μ„Έ 개의 배열을 ν•˜λ‚˜μ˜ 객체둜 ꡬ쑰λ₯Ό λ°”κΏ”μ•Ό ν• κΉŒμš”?μœ„μ˜ λ°°μ—΄μ—μ„œ 4μ›” 1일에 νŒλ§€λŸ‰, 리뷰수, μ’‹μ•„μš” 수λ₯Ό ν™•μΈν•˜λ €λ©΄ μ„Έ 개의 배열을 각각 for문으둜 λ°˜λ³΅ν•΄μ„œ λ‚ μ§œλ₯Ό 확인해야 ν•˜λ―€λ‘œ 쒋은 ꡬ쑰의 데이터라고 ν•  수 μ—†μŠ΅λ‹ˆλ‹€. (λ‚ μ§œκ°€ 365일이라고 ν•˜λ©΄, μ„Έ 개의 배열이 각자 365번 λŒμ•„μ•Ό ν•˜λ‹ˆκΉŒμš”)
  • κ·Έλž˜μ„œ μ„Έ 개의 배열을 μ‚¬μš©ν•˜κΈ° μ’‹κ²Œ 객체둜 λ°”κΏ€ κ²ƒμž…λ‹ˆλ‹€. κ°μ²΄λŠ” ν”„λ‘œνΌν‹°λͺ…μœΌλ‘œ λ°”λ‘œ μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹ˆκΉŒ, λ‚ μ§œλ§Œ μ•Œλ©΄ 반볡 문을 λŒμ§€ μ•Šμ•„λ„ λ°”λ‘œ 데이터λ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ 객체의 ν˜•νƒœλ‘œ 데이터 ꡬ쑰λ₯Ό λ°”κΎΈλ €λŠ” κ²ƒμž…λ‹ˆλ‹€.
  • λ‹€μŒ μš”κ΅¬μ‚¬ν•­μ„ μΆ©μ‘±ν•˜λŠ” 객체λ₯Ό λ§Œλ“€μ–΄μ„œ return ν•΄μ£Όμ„Έμš”.
  • λ¦¬ν„΄λ˜λŠ” 객체가 κ°–κ³  μžˆλŠ” propertyλŠ” 3개 μž…λ‹ˆλ‹€.
    • sumAmount : 총 νŒλ§€λŸ‰
    • sumReview : 총 리뷰개수
  • sumLike : 총 μ’‹μ•„μš”μˆ˜
function getData(salesArr, reviewArr, likeArr) {
  let sumAmount = 0;
  let sumReview = 0;
  let sumLike = 0;
  
  for(let i = 0; i < salesArr.length; i++) {
      sumAmount += salesArr[i][1];
    }
  for(let i = 0; i < reviewArr.length; i++) {
      sumReview += reviewArr[i][1];
    }
  for(let i = 0; i < likeArr.length; i++) {
      sumLike += likeArr[i][1];
    }
    
  const objData = {
    sumAmount: sumAmount,
    sumReview: sumReview,
    sumLike: sumLike,
  };
  return objData;
}
profile
μ•ˆλ…•ν•˜μ„Έμš”, 지식을 κ³΅μœ ν•˜λŠ” κ³΅κ°„μž…λ‹ˆλ‹€.

0개의 λŒ“κΈ€

κ΄€λ ¨ μ±„μš© 정보

Powered by GraphCDN, the GraphQL CDN