<JavaScript> Object ๊ฐ์ฒด(3)

Lown Kimยท2021๋…„ 10์›” 7์ผ
0
post-thumbnail

๐Ÿฅ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ ๋ฌธ์ œ ํ’€์ด



ํ•™์Šต ๋ชฉํ‘œ
๊ฐ์ฒด์˜ key์™€ value์— ์ ‘๊ทผํ•˜๊ณ  ๊ฐ€๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•ด ๊ฐ์ฒด ์•ˆ์˜ ํ”„๋กœํผํ‹ฐ๋“ค์„ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.


๊ฐ์ฒด์˜ ์ˆœํšŒ
๊ฐ์ฒด ์† ๋‚ด์šฉ๋ฌผ๋„ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ๋‹ค! ๋‹ค๋งŒ ๋ฐฐ์—ด๊ณผ ๋‹ค๋ฅด๊ฒŒ, ์ˆœํšŒํ•  ๋•Œ ์ •ํ•ด์ง„ ์ˆœ์„œ๋Š” ์—†๋‹ค.


Object.keys ๋ฉ”์†Œ๋“œ
Object.keys() ๋ฉ”์†Œ๋“œ๋Š” ๊ฐ์ฒด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ‚ค๋“ค์˜ ๋ชฉ๋ก์„ ๋ฐฐ์—ด๋กœ ๋ฆฌํ„ดํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค.

 const obj = {
  name: 'melon',
  weight: 4350,
  price: 16500,
  isFresh: true
}

obj๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ์ˆœํšŒํ•˜๊ธฐ ์œ„ํ•ด .keys๋ฉ”์†Œ๋“œ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
Object.keys(obj)

๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ์‹œ ์ด๋Ÿฐ ๊ฒฐ๊ณผ๋ฌผ์ด ์ถœ๋ ฅ๋œ๋‹ค!
['name', 'weight', 'price', 'isFresh']

๊ฐ์ฒด ์† ํ”„๋กœํผํ‹ฐ์˜ key๋“ค์„ ๋ฐฐ์—ด๋กœ ๋ฉ‹์ง€๊ฒŒ ๋ฆฌํ„ดํ•œ๊ฒƒ์ด๋‹ค!


const keys = Object.keys(obj)
//obj์˜ key๋“ค์„ ์ˆœํšŒํ•ด์„œ ๋งŒ๋“  ๋ฐฐ์—ด์„ keys๋ผ๋Š” ๋ณ€์ˆ˜์— ์ €์žฅ!

for (let i = 0; i < keys.length; i++) {
//๊ทธ key๋ผ๋Š” ๋ณ€์ˆ˜ ์† ์•„์ด๋“ค์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ํ›‘๋Š” ์กฐ๊ฑด์œผ๋กœ ๋ฐ˜๋ณต๋ฌธ ์‹œ์ž‘!
  const key = keys[i]
  //keys ์† ๊ฐ๊ฐ์˜ ํ‚ค๋ฅผ key๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ €์žฅํ•œ๋‹ค
  const value = obj[key]
  //obj[key]์™€ ๊ฐ™์€ ํ˜•์‹์€ ๊ด„ํ˜ธ ์•ˆ key์˜ value๋ฅผ ๋ฝ‘์„๋•Œ ์“ด๋‹ค๊ณ  ํ–ˆ์—ˆ์œผ๋‹ˆ๊นŒ,
  //์ด๊ฑด obj๊ฐ์ฒด ์† ๊ฐ๊ฐ์˜ key๋“ค์˜ value๋ฅผ ์–ป๋Š” ์ฝ”๋“œ์ธ๊ฑฐ๋‹ค!
  //๊ทธ value๋“ค์„ value๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ €์žฅ!
  
  console.log(value)
}

์œ„ ์ฝ”๋“œ์˜ ๊ฒฐ๊ณผ๋กœ๋Š”

'melon'
4350
16500
true`

๋ผ๋Š” ๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค!


์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ES6์—๋Š” Object.values, Object.entries ์™€ ๊ฐ™์€ ๋ฉ”์†Œ๋“œ๋“ค๋„ ์žˆ๋‹ค. Object.values๋Š” ๊ฐ์ฒด์˜ value๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•˜๊ณ , Object.entries๋Š” ๊ฐ์ฒด์˜ key์™€ value๊ฐ€ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋“ค์–ด๊ฐ€์žˆ๊ณ  ๊ทธ๊ฒƒ์„ ๊ฐ์‹ธ๋Š” ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•œ๋‹ค.

const values = Object.values(obj)
//values === ['melon', 4350, 16500, true]

const entries = Object.entries(obj)
entries === [
  ['name', 'melon'],
  ['weight', 4350],
  ['price', 16500],
  ['isFresh', true]
]
//key์™€ value๊ฐ€ ๋ฐฐ์—ด๋กœ ๋“ค์–ด๊ฐ€์žˆ๊ณ , ๋˜ ๊ทธ๊ฒƒ์„ ๊ฐ์‹ธ๋Š” ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•œ๋‹ค๋Š”๊ฒƒ์ด 
์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๋‘๊ณ  ํ•œ ์–˜๊ธฐ์ด๋‹ค!



for-in๋ฌธ
๊ฐ์ฒด๋ฅผ ์ˆœํšŒํ•  ๋•Œ ์“ฐ์ด๋Š” JS ES6์˜ ๋ฌธ๋ฒ•์ด๋‹ค. ๊ฐ์ฒด ๋ง๊ณ ๋„ ๋ฐฐ์—ด์„ ์ˆœํšŒํ• ๋•Œ๋„ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

const arr = ['coconut', 'banana', 'pepper', 'coriander']

for (let i = 0; i < arr.length; i ++) {
  console.log(i)
  console.log(arr[i])
}

์›๋ž˜๊ฐ™์œผ๋ฉด ๋‚ด์šฉ๋ฌผ์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ˆœํšŒํ•˜๋Š” for๋ฌธ์„ ์œ„์™€ ๊ฐ™์ด ์ž‘์„ฑํ–ˆ์„ํ…๋ฐ,
let i = 0; i < arr.length; i ++๋ถ€๋ถ„์„ ์ถ•์•ฝํ•˜๊ณ ์žˆ๋Š” ๋ฌธ๋ฒ•์ด for-in๋ฌธ์ด๋‹ค.
์œ„ for๋ฌธ ์ฝ”๋“œ๋Š” ์•„๋ž˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ ๋ฐ”๊ฟ”์“ธ ์ˆ˜ ์žˆ๋‹ค.

for (let i in arr) {
  console.log(i)
  console.log(arr[i])
}

๋‘๊ฐ€์ง€ ์ฝ”๋“œ ๋ชจ๋‘

0
1
2
3
'coconut'
'banana'
'pepper'
'coriander'

๋ผ๋Š” ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

for in๋ฌธ์€ ๊ฐ์ฒด์—์„œ๋„ ์ž‘๋™ํ•œ๋‹ค!
๊ฐ์ฒด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์ž.

const obj = {
  name: 'melon',
  weight: 4350,
  price: 16500,
  isFresh: true
}

for (let key in obj) {
//obj๊ฐ์ฒด ์•ˆ์˜ key๋“ค์„ key๋ผ๊ณ  ์ด๋ฆ„๋ถ™์ด๋Š” for in๋ฌธ!
  const value = obj[key]
  //value๋ผ๋Š” ๋ณ€์ˆ˜ ์•ˆ์— obj์˜ key์— ๋Œ€ํ•œ value๊ฐ’๋“ค์„ ์ €์žฅํ•ด์คŒ

  console.log(key)
  //์ด๋ ‡๊ฒŒํ•˜๋ฉด key๊ฐ’๋“ค์ด ๋‚˜์˜ค๊ณ 
  console.log(value)
  //์ด๋ ‡๊ฒŒํ•˜๋ฉด key๊ฐ’์— ๋Œ€ํ•œ value๊ฐ’๋“ค์ด ๋‚˜์˜จ๋‹ค!
}

Assignment

์•„๋ž˜ ์„ค๋ช…์„ ์ฝ๊ณ  getExamResult ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”.
์ธ์ž scores ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด์˜ ์š”์†Œ์˜ ๊ฐฏ์ˆ˜ ๋ฐ ํ‚ค์˜ ์ด๋ฆ„๋“ค์€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด์˜ ๊ฐ’์€ ๋‹ค์Œ 9๊ฐ€์ง€ ๋ฌธ์ž์—ด ์ค‘์—์„œ ํ•˜๋‚˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
'A+', 'A', 'B+', 'B', 'C+', 'C', 'D+', 'D', 'F'

{
'์ƒํ™œ์†์˜ํšŒ๊ณ„': 'C',
'๋…ผ๋ฆฌ์ ๊ธ€์“ฐ๊ธฐ': 'B',
'๋…์ผ๋ฌธํ™”์˜์ดํ•ด': 'B+',
'๊ธฐ์ดˆ์ˆ˜ํ•™': 'D+',
'์˜์–ดํšŒํ™”': 'C+',
'์ธ์ง€๋ฐœ๋‹ฌ์‹ฌ๋ฆฌํ•™': 'A+',
}

์ธ์ž requiredClasses ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฌธ์ž์—ด๋กœ ๋œ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.
['์˜์–ดํšŒํ™”', '๊ธฐ์ดˆ์ˆ˜ํ•™', '๊ณตํ•™์ˆ˜ํ•™', '์ปดํ“จํ„ฐ๊ณผํ•™๊ฐœ๋ก ']

๋‹ค์Œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ๋ฆฌํ„ดํ•˜๋„๋ก ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”.
scores ๊ฐ์ฒด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ‚ค๋“ค์€ ์ƒˆ๋กœ์šด ๊ฐ์ฒด์— ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ๊ทธ ๊ฐ’๋“ค์€ ๋‹ค์Œ ์›๋ฆฌ์— ๋”ฐ๋ผ ์ˆซ์ž๋กœ ๋ฐ”๋€Œ์–ด ํ• ๋‹น๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
A+ => 4.5
A => 4
B+ => 3.5
B => 3
C+ => 2.5
C => 2
D+ => 1.5
D => 1
F => 0

requiredClasses ๋ฐฐ์—ด์˜ ์š”์†Œ๋กœ๋Š” ์กด์žฌํ•˜์ง€๋งŒ, scores์˜ ํ‚ค๋กœ๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ•ญ๋ชฉ์ด ์žˆ๋‹ค๋ฉด, ํ•ด๋‹น ์š”์†Œ๋Š” ์ƒˆ๋กœ์šด ๊ฐ์ฒด์˜ ํ‚ค๊ฐ€ ๋˜๊ณ , ๊ฐ’์œผ๋กœ 0์„ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์œ„์—์„œ ์˜ˆ์‹œ๋กœ ๋ฌ˜์‚ฌ๋œ ๊ฐ์ฒด์™€ ๋ฐฐ์—ด์ด ์ธ์ž๋กœ ๋“ค์–ด์™”๋‹ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ์ฒด๊ฐ€ ๋ฆฌํ„ด๋ฉ๋‹ˆ๋‹ค. ์š”์†Œ๊ฐ„ ์ˆœ์„œ๋Š” ๋‹ค๋ฅผ์ˆ˜ ์žˆ์ง€๋งŒ, ์ฑ„์ ์— ๋ฌด๊ด€ํ•ฉ๋‹ˆ๋‹ค.
{
'์ƒํ™œ์†์˜ํšŒ๊ณ„': 2,
'๋…ผ๋ฆฌ์ ๊ธ€์“ฐ๊ธฐ': 3,
'๋…์ผ๋ฌธํ™”์˜์ดํ•ด': 3.5,
'๊ธฐ์ดˆ์ˆ˜ํ•™': 1.5,
'์˜์–ดํšŒํ™”': 2.5,
'์ธ์ง€๋ฐœ๋‹ฌ์‹ฌ๋ฆฌํ•™': 4.5,
'๊ณตํ•™์ˆ˜ํ•™': 0,
'์ปดํ“จํ„ฐ๊ณผํ•™๊ฐœ๋ก ': 0,
}



๋‚˜์˜ ๋‹ต์•ˆ

function getExamResult(scores, requiredClasses){
//์ œ์‹œํ•ด์ค€ ๋‘๊ฐ€์ง€ ์ธ์ž๋ฅผ ๋ฐ›๋Š” ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜์ž!
  let result = {};
  ์ตœ์ข…์ ์œผ๋กœ returnํ•  ๊ฐ์ฒด๋ฅผ ์„ ์–ธ!
  const convertScores = {
  //์•ŒํŒŒ๋ฒณ์ ์ˆ˜๋ฅผ ์ˆซ์ž ์ ์ˆ˜๋กœ ๋Œ€์น˜์‹œํ‚ค๋Š” ๊ฐ์ฒด๋ฅผ ์„ ์–ธํ•˜๊ณ 
  //์•ˆ์— ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚ด์šฉ๋ฌผ์„ ๋„ฃ๋Š”๋‹ค!
    "A+" : 4.5,
    "A" : 4,
    "B+" : 3.5,
    "B" : 3,
    "C+" : 2.5,
    "C" : 2,
    "D+" : 1.5,
    "D" : 1,
    "F" : 0
  };
  
  for(let i in scores){
  //for in๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ํ•จ์ˆ˜์˜ ์ฒซ๋ฒˆ์งธ ์ธ์ž๋กœ ๋ฐ›์€ scores๋ฅผ ์ˆœํšŒํ• ๊ฒƒ์ด๋‹ค.
    result[i] = convertScores[scores[i]]
    //result๊ฐ์ฒด์˜ key๊ฐ’์—๋Š” i๋ฅผ ํ• ๋‹นํ•ด์ฃผ๊ณ 
    //value๊ฐ’์—๋Š” convertScores๊ฐ์ฒด ์†
    scores์˜ value๊ฐ’๊ณผ ๊ฐ™์€ ๊ฐ’์˜ value์„ ํ• ๋‹นํ•ด์ค€๋‹ค.
    //์ด ๋ถ€๋ถ„์—๋Œ€ํ•œ ๋ถ€๊ฐ€์„ค๋ช…์€ ํฌ์ŠคํŒ… ๋งจ ์•„๋ž˜์—์„œ ์ด์–ด์„œ ํ•˜๊ฒ ๋‹ค!
  }
    
requiredClasses.forEach((el) => {
//๋‘๋ฒˆ์งธ ์ธ์ž๋กœ ๋“ค์–ด์˜ค๋Š” ํ•„์ˆ˜ํฌํ•จ๊ณผ๋ชฉ๋“ค์€ forEach๋กœ ์ˆœํšŒํ•ด๋ณผ๊ฒƒ์ด๋‹ค.
//์ถ”๊ฐ€๊ณผ๋ชฉ ๋ฐฐ์—ด ์† ์•„์ด๋“ค์„ el์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ถˆ๋Ÿฌ์•ผ์ง€! 

  if(result[el] === undefined){
  //๋งŒ์•ฝ result๊ฐ์ฒด์— el์ด๋ผ๋Š” ๊ฐ’์ด undefined๋ผ๋ฉด
    result[el] = 0
    //result๊ฐ์ฒด์— el์ด๋ผ๋Š” ๋ณ€์ˆ˜์ด๋ฆ„์œผ๋กœ key๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ•ด๋‹น value๋Š” 0์œผ๋กœ ์ค˜!
  }
})
  
  return result; 
}

const exScores = {
//score๋ผ๋Š” ์ธ์ž์— ์‹œ๋ฒ”์œผ๋กœ ๋“ค์–ด๊ฐˆ exScores๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์žฃ!
  '์ƒํ™œ์†์˜ํšŒ๊ณ„': 'C',
  '๋…ผ๋ฆฌ์ ๊ธ€์“ฐ๊ธฐ': 'B',
  '๋…์ผ๋ฌธํ™”์˜์ดํ•ด': 'B+',
  '๊ธฐ์ดˆ์ˆ˜ํ•™': 'D+',
  '์˜์–ดํšŒํ™”': 'C+',
  '์ธ์ง€๋ฐœ๋‹ฌ์‹ฌ๋ฆฌํ•™': 'A+',
}
  const exRe = ['์˜์–ดํšŒํ™”', '๊ธฐ์ดˆ์ˆ˜ํ•™', '๊ณตํ•™์ˆ˜ํ•™', '์ปดํ“จํ„ฐ๊ณผํ•™๊ฐœ๋ก '];
  //๋‘๋ฒˆ์งธ requiredClasses ์ธ์ž์— ์‹œ๋ฒ”์œผ๋กœ ๋“ค์–ด๊ฐˆ ๋ฐฐ์—ด!

getExamResult(exScores, exRe);
//์„ ์–ธํ•ด๋†“์€ ์ž„์‹œ๋ฐ์ดํ„ฐ๋“ค์„ ์ธ์ž๋กœ ๋„ฃ์–ด์ค€ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ธฐ!




์ค‘๊ฐ„์—for(let i in scores)๋ถ€๋ถ„์„ ๋‹ค์‹œ ์‚ดํŽด๋ณด์ž!

for(let i in scores){
  result[i] = convertScores[scores[i]]
}

์šฐ๋ฆฌ๋Š” scores์ธ์ž๋กœ ๋ฐ›์€ ๋ฐ์ดํ„ฐ(๊ฐ์ฒด)์˜ value๊ฐ’(์•ŒํŒŒ๋ฒณ์ ์ˆ˜)๋ฅผ ์–ป์–ด์•ผํ•˜๊ธฐ๋•Œ๋ฌธ์— for in๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ํ•จ์ˆ˜์˜ ์ฒซ๋ฒˆ์งธ ์ธ์ž๋กœ ๋ฐ›์€ scores๋ฅผ ์ˆœํšŒํ•˜๋Š”๊ฒƒ์ด๋‹ค!

scores[i]๋ผ๊ณ  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด scores๋กœ ๋ฐ›์€ ๊ฐ์ฒด ์†์˜ value๊ฐ’๋“ค์ด ํ˜ธ์ถœ๋œ๋‹ค. ์ด scores์˜ value๊ฐ’๋“ค์ด ๋ˆ„๊ตฌ๋ƒ? ๋ฐ”๋กœ๋ฐ”๋กœ
์ € ์•ŒํŒŒ๋ฒณ์ ์ˆ˜๋“ค์ด๋‹ค!

๊ทธ๋Ÿฌ๋‹ˆ ๊ฒฐ๊ตญ convertScores[scores[i]] ๋ผ๋Š” ๊ฒƒ์€
convertScores[์•ŒํŒŒ๋ฒณ์ ์ˆ˜๋“ค]์ธ ์…ˆ์ด๊ณ , convertScores[์•ŒํŒŒ๋ฒณ์ ์ˆ˜๋“ค]์ด๋ผ๋Š” ์ฝ”๋“œ๋Š” convertScores๊ฐ์ฒด์˜ key์—๋Œ€ํ•œ value๊ฐ’์„ ํ˜ธ์ถœํ•˜๊ฒŒ๋œ๋‹ค.
๊ฒฐ๋ก ์ ์œผ๋กœ convertScores[scores[i]]๋ผ๊ณ  ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด 4.5, 4.0, 3.5 ๋“ฑ์˜ ์ˆซ์ž ์ ์ˆ˜๊ฐ€ ์ถœ๋ ฅ๋˜๋Š”๊ฒƒ์ด๋‹ค!

์ด๋ ‡๊ฒŒ ๊ฐ์ฒด๋ช…[key๋ณ€์ˆ˜๋ช…] = value๊ฐ’๊ณต์‹์„ ์‚ฌ์šฉํ•ด์„œ
๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ returnํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์งค ์ˆ˜ ์žˆ์—ˆ๋‹ค!

๋ช‡๊ฐ€์ง€ ํฌ์ธํŠธ๋ฅผ ์งš์–ด๋ณด๋ฉด
1. ๋ฌธ์ œ์—์„œ ์ œ์‹œํ•ด์ค€ ์ธ์ž ๋‘๊ฐœ๋ฅผ ๋ฐ›๋Š” ํ•จ์ˆ˜๋ฅผ ์ž˜ ๋งŒ๋“ค์ž!
2. ๊ทธ๋ฆฌ๊ณ  ์ž„์‹œ๋กœ ๊ทธ ๋‘ ์ธ์ž ์ž๋ฆฌ์— ๋„ฃ์–ด ๋ณผ ๋ฐ์ดํ„ฐ๋„ ์ž˜ ๊ตฌ์„ฑํ•ด์•ผํ•จ. ์ด๋ฆ„๋„ ์•Œ์•„๋ณด๊ธฐ ์‰ฝ๊ฒŒ!
3. ๊ฐ์ฒด๋ช…[key๋ณ€์ˆ˜๋ช…] = value๊ฐ’๊ณต์‹์ฒ˜๋Ÿผ ๊ฐ์ฒด๋ฅผ ํ•ธ๋“คํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž˜ ์ตํ˜€์„œ ์จ๋จน์–ด์•ผํ•œ๋‹ค.
4. ๊ธด๊ฐ€๋ฏผ๊ฐ€ ํ•  ๋•Œ๋Š” ํ•œ ์ค„ ํ•œ ์ค„console.log์ฐ์–ด์„œ๊ตฌ๊ฒฝํ•˜๊ฑฐ๋‚˜ for in ๋ฌธ์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์ˆœํšŒํ•ด๋ณธ๋‹ค. ๋ญ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง€..
5. ์ผ๋‹จ ๋ฌธ์ œ๋ฅผ ์ฝ๊ณ  ํ•ด์•ผํ•  ์ผ์„ ์ญˆ์šฑ ์ ์–ด๋ณด๊ณ  ๊ฑฐ๊ธฐ์„œ ๋” ์ชผ๊ฐœ๋ฉด์„œ ํ•˜๋‚˜ํ•˜๋‚˜์”ฉ ํ•ด๊ฒฐํ•ด๋ณธ๋‹ค..

๊ทผ๋ฐ ์•„์ง๋„ ๋ญ”๊ฐ€ 100ํผ์„ผํŠธ ์ดํ•ดํ•˜๊ณ  ์“ฐ๋Š” ํฌ์ŠคํŒ…์€ ์•„๋‹ˆ๋‹ค ๋ผ๋Š” ๋Š๋‚Œ.. ํ˜น์ž๋Š” ์ฝ”์›ƒ์Œ ์น  ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ ๋‚˜๋Š” ์ด ๋ฌธ์ œ๋ฅผ ์ผ์ฃผ์ผ ๋„˜๊ฒŒ ๋“ค์—ฌ๋‹ค๋ดค๋‹ค. ๊ฐ์ฒด๋ฅผ ๋ณด๊ณ ์žˆ๋‹ค๊ฐ€ ๋ฐฐ์—ด์„ ๋ณด๋ฉด.. ์ฐธ ์ฒœ์‚ฌ๊ฐ€ ๋”ฐ๋กœ์—†๊ตฌ๋‚˜ ํ•˜๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค. ์ˆœํšŒํ•˜๋Š”๊ฒƒ๋„ ํ•ธ๋“ค๋งํ•˜๋Š”๊ฒƒ๋„ key์™€ value๊ฐ’๋•Œ๋ฌธ์— ๋„ˆ๋ฌด ํ—ท๊ฐˆ๋ฆฐ๋‹ค. ๊ฐ์ฒด ์•ˆ์— key์™€ value๋ฅผ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ• ๋˜ํ•œ ์–ด๋–ป๊ฒŒ๋ณด๋ฉด ์œ„์— ์–ธ๊ธ‰ํ•œ ๊ณต์‹์ฒ˜๋Ÿผ ๊ฐ„๋‹จํ•˜์ง€๋งŒ์„œ๋‘ ์˜จ์ ์‚ฌ์šฉ๋ฒ•,๋Œ€๊ด„ํ˜ธ+๋”ฐ์˜ดํ‘œ์‚ฌ์šฉ๋ฒ•,๋Œ€๊ด„ํ˜ธ(๋ณ€์ˆ˜)์‚ฌ์šฉ๋ฒ• ์ด๋ ‡๊ฒŒ ์„ธ ๊ฐ€์ง€๋‚˜ ์žˆ์œผ๋‹ˆ๊นŒ ํ—ท๊ฐˆ๋ฆด ๋งŒ๋„ ํ•˜๋‹ค. ๊ฐ๊ฐ์˜ ์‚ฌ์šฉ๋ฒ•์ด ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€์— ๋Œ€ํ•ด์„œ๋Š” ์•Œ๊ณ ์žˆ์ง€๋งŒ ๋ง‰์ƒ ์“ฐ์—ฌ์ง„ ์ฝ”๋“œ๋ฅผ ํ•ด๋…ํ• ๋•Œ๋Š” ๋‹นํ™ฉํ•ด์„œ '.....?!'์ด๋ ‡๊ฒŒ๋œ๋‹ค.. ๋‚ด๊ฐ€ ์จ๋†“๊ณ ๋„ ๊ฐ€๋” ๊ทธ๋ ‡๊ฒŒ๋œ๋‹ค.ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹
ํ•˜์—ฌ๊ฐ„ ์ด ๋ฌธ์ œ๋Š” ํ’€๊ณ  ๋‚˜์„œ ์‹œ๊ฐ„์ด ์ง€๋‚œ ์ง€๊ธˆ๋„ ์ฐธ ๋“ค์—ฌ๋‹ค๋ณด๊ธฐ ๋ฌด์„œ์šด ๋ฌธ์ œ๋‹ค.. ๊ทธ๋ž˜๋„ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋˜ ์ณ๋‹ค๋ด์•ผ์ง€.

๋™

0๊ฐœ์˜ ๋Œ“๊ธ€