[JavaScript] 객체(Object)

λ””λ”©Β·2022λ…„ 11μ›” 4일
0

Today I Learned

λͺ©λ‘ 보기
5/12
post-thumbnail

πŸ“ 2022. 11. 04

JavaScript / μ½”ν”Œλ¦Ώ 볡슡



πŸ“Œ Today I Learned

  • 객체 12번 countNumberOfKeys
    • for...inκ³Ό Object.keys()
  • 객체 20번 countAllCharacters
  • 객체 21번 mostFrequentCharacter

πŸ’¬ countNumberOfKeys

πŸ’­ λ‚΄κ°€ μž‘μ„±ν•œ μ½”λ“œ

function countNumberOfKeys(obj) {
  // TODO: 여기에 μ½”λ“œλ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.

  let result = 0;

  for (let key in obj) {
    result = result + 1
  }
  return result;
  
}

🧷 래퍼런슀 μ½”λ“œ

function countNumberOfKeys(obj) {
  return Object.keys(obj).length;
}

πŸ’¨ μΆ”κ°€ ν•™μŠ΅

  • for...in κ°μ²΄μ—μ„œλ§Œ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€. λ°°μ—΄μ—μ„œλŠ” μ‚¬μš© λΆˆκ°€λŠ₯ν•˜λ‹€.

  • Object.keys(obj)

    • Object.keys() λ©”μ†Œλ“œλŠ” 주어진 객체의 속성 이름듀을 일반적인 반볡문과 λ™μΌν•œ μˆœμ„œλ‘œ μˆœνšŒλ˜λŠ” μ—΄κ±°ν•  수 μžˆλŠ” λ°°μ—΄λ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.



πŸ’¬ countAllCharacters

🧷 래퍼런슀 μ½”λ“œ

// μž…μΆœλ ₯ μ˜ˆμ‹œ
let output = countAllCharacters('banana');
console.log(output); // --> {b: 1, a: 3, n: 2}

  let obj = {};

  for (i = 0; i < str.length; i++) {
    if (!obj[str[i]]) {
      obj[str[i]] = 0;
    }
    obj[str[i]]++
  }

  return obj;

🧻 λ‚΄κ°€ μƒκ°ν•œ 풀이

빈 객체λ₯Ό ν• λ‹Ήν•˜κΈ° μœ„ν•΄ obj λ³€μˆ˜λ₯Ό μ„ μ–Έν•œλ‹€.
μž…λ ₯값을 μˆœνšŒν•˜μ—¬ 값을 μ°Ύκ³  λ§Œλ“€μ–΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— for문을 μ‚¬μš©ν•œλ‹€.
str을 μˆœνšŒν•  λ•Œ 첫 번째 μˆœνšŒμ—μ„œ
빈 객체(obj) μ•ˆμ— str[i]λ₯Ό λΆˆλŸ¬μ™€, obj의 str[i] 객체 μ•ˆμ— ν‚€κ°€ 없을 경우 (!obj...)
ν‚€λ₯Ό str[i] κ°’('b)으둜 생성, ν‚€-값은 0으둜 ν• λ‹Ήν•œλ‹€.
두 번째 순회λ₯Ό 돌며 킀값이 있으면 생성을 κ±΄λ„ˆ λ›°κ³ , 증감문이 μ‹€ν–‰λœλ‹€.

profile
λ¬΄μ‚¬μ™€μš”... μ—΄κ³΅ν–μš”...

0개의 λŒ“κΈ€