๐ฅ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด ๋ฌธ์ ํ์ด
ํ์ต ๋ชฉํ
๊ฐ์ฒด์ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ ์ํ๋ ๊ฐ์ฒด์ ์ ๊ทผํด ์กฐ์ํ ์ ์๋ค.
๊ฐ์ฒด์ ๊ธฐ๋ณธ ํํ๋ ์๋์ ๊ฐ๋ค. ๊ฐ์ฒด๋ ์ค๊ดํธ๋ก ๊ฐ์ธ์ ธ ์๊ณ ,
์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ์ด๋ฆ / ๊ฐ์ด๋ผ๋ ํ๋กํผํฐ์ธํธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ฐ๊ฐ์ ํ๋กํผํฐ์ธํธ๋ค์ด ์ผํ๋ก ๋ถ๋ฆฌ๋ ๋ชฉ๋ก์ด ๊ฐ์ฒด์ด๋ค.
๊ฐ์ฒด์ด๋ฆ = {
key : value,
"์ด์ฉ๊ตฌ" : "์ ์ฉ๊ตฌ",
"ํ์ด๋ฆฌ" : "๊ผฌ๋ถ๊ธฐ",
"์ฝ์ค๋ชจ" : "์๋ค",
"๋ฏธ์นด์ฌ" : "์๋ ",
"๋ฌด์ง์นด" : "์ก์ฅฌ",
}
๊ฐ์ฒด๊ฐ ๊ฐ์ง๋ ๊ท์น๋ค
1. property ์ด๋ฆ์ ์ค๋ณต๋ ์ ์๋ค.
2. property์ด๋ฆ๊ณผ property๊ฐ ์ฌ์ด์ : (์ฝ๋ก )์ผ๋ก ๊ตฌ๋ถํ๋ค.
3. property๋ฅผ ์ถ๊ฐํ ๋๋ , (์ผํ)๋ฅผ ๋ถ์ฌ์ค๋ค.
4. property ๊ฐ์๋ ์ด๋ type์ด๋ ๊ฐ๋ฅํ๋ค(string, number, array,
object, function..)
์๋์ ๊ฐ์ ๊ฐ์ฒด๊ฐ ์๋ค!
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๋ผ๋ ๊ฐ์ฒด์ ์ ๊ทผํ๊ณ ,
๊ทธ ์์ 1๋ฒ์งธ (0๋ฒ์งธ ์๋!) ๋ฐฐ์ด์ ์ ๊ทผํ๊ณ ,
๊ทธ ์์ name์ด๋ผ๋ ํ๋กํผํฐ์ ์ ๊ทผํ๋ ๋ฐฉ์์ด๋ค.
๊ฐ์ฒด์ ํ๋กํผํฐ์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค.
๊ฐ์ฒด์ด๋ฆ.ํ๋กํผํฐ์ด๋ฆ
๊ฐ์ฒด์ด๋ฆ["ํ๋กํผํฐ์ด๋ฆ"]
๊ฐ์ฒด์ด๋ฆ[ํ๋กํผํฐ์ด๋ฆ]
์ด๋ ๊ฒ ์ ๊ทผ ํ ์ ์๋๋ฐ, ์จ์ ๊ณผ ๋๊ดํธ ์์ ์๋ฐ์ดํ๋ฅผ ๋ฃ๋ ๋ฐฉ์์ ํ๋กํผํฐkey์ ์ ํํ ์ด๋ฆ์ ์ ์ด์ ์ง์ ์ ๊ทผํ ๋ ์ฌ์ฉ๋๊ณ
๋๊ดํธ๋ ๋ณ์๋ฅผ ํตํด ์ ๊ทผํ ๋ ์ฌ์ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ๋ฐ์์ผ๋ก ํ๋กํผํฐ key๋ฅผ ๋ถ๋ฌ์ฃผ๋ฉด ๊ฒฐ๊ณผ๋ก๋ ํด๋น key๊ฐ ๋ก ๋์ค๋ ๊ฒ์ด ์๋๋ผ ํด๋น key์ ๋ํ value๊ฐ์ด ์ถ๋ ฅ๋๋ค๋ ๊ฒ์ ์์ง ์์์ผํ๋ค!
์๋ฅผ ๋ค์ด plan1 ๊ฐ์ฒด์ name ์ด๋ผ๋ ํ๋กํผํฐ์ ์ ๊ทผํ๊ณ ์ถ์ ๋,
์๋์ ๊ฐ์ด ๋๊ดํธ๋ฅผ ์ฌ์ฉ ํ ์ ์๋ค.
let plan1 = {
name: "Basic"
};
let propertyName = "name";
console.log(plan1[propertyName]);
๋๊ดํธ ์์ propertyName์ด๋ผ๋ ๋ณ์๋ช
์ ์ฝ์
ํจ์ผ๋ก์จ plan1๊ฐ์ฒด ๋ด์ name์ด๋ผ๋ key์ ์ ๊ทผํ๊ฒ์ด๋ค.
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]]
๋ค์ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด์ return ํด์ฃผ์ธ์.
๋ฆฌํด๋๋ ๊ฐ์ฒด๋ ์๋์ ๊ฐ์ด 3๊ฐ์ property๋ฅผ ๊ฐ์ง๋๋ค.
sumAmount : ์ด ํ๋งค๋
sumReview : ์ด ๋ฆฌ๋ทฐ๊ฐ์
sumLike : ์ด ์ข์์์
๋์ ๋ต์
function getData(salesArr,reviewArr,likeArr){
//์ ์ํด์ค ์ธ์ ์ธ ๊ฐ๋ฅผ ์ ๋ฐ๊ณ
let A = salesArr[0][1] + salesArr[1][1] + salesArr[2][1]
//A๋ณ์์ ๊ฐ๊ฐ ํ์ํ ๋ฐ์ดํฐ์ ์ ๊ทผํด์ ๋ํ ๊ฒฐ๊ณผ๊ฐ์ ํ ๋น.
//์๋ ๊ฒฐ๊ณผ๋ค๋ ๊ฐ์ ํํ๋ก ํ ๋น
let B = reviewArr[0][1] + reviewArr[1][1] + reviewArr[2][1]
let C = likeArr[0][1] + likeArr[1][1] + likeArr[2][1]
let datas = {
//datas๋ผ๋ ๊ฐ์ฒด ๋ง๋ค๊ธฐ
sumAmount: A,
//sumAmoun๋ผ๋ key์ A๋ผ๋ value ํ ๋น!
//์๋ ํ๋กํผํฐ๋ค๋ ์ด์ ๊ฐ์ด ํ ๋น
sumReview: B,
sumLike: C
};
return datas;
}
๋ฌธ์ ์์ฒด๋ ๋ฐฐ์ด์ ๋ํ ์ ๊ทผ์ ์ํ๋ ๋ฅ๋ ฅ์ด ๊ฐ๋ฏธ๋ ๊ฐ๋จํ ๊ฐ์ฒด ๋ฌธ์ ์์ง๋ง
๊ฐ์ฒด ์์ ์์๋ค์ด ์ผ๋ง ์์ ๋ ๊ด์ฐฎ์๋ฐ ๊ฐ์ฒด ์์ ์์๊ฐ ๋์ด๋๊ณ ๋ฐ์ดํฐํ์
๋ ๊ฐ์ง๊ฐ์์ด ๋๋ฉด ์ ์ ๊ฐ๋
์ฑ์ด ์์ข์์ง๊ณ ๋ณต์กํด์ง๊ธฐ ์์ํ๋๊น ์กฐ์ฌํด์ผ๊ฒ ๋ค.