[Til] 9/3 객체 문제

이종원·2020년 9월 3일
1

문자열을 입력받아 문자열을 구성하는 각 문자(letter)를 키로 갖는 객체를 리턴해야 합니다. 각 키의 값은 해당 문자가 문자열에서 등장하는 횟수를 의미하는 number 타입의 값이어야 합니다.

  1. 객체로 리턴을 해야한다
    • 빈 객체 만들기
  2. 문자열 하나 하나 가져오기
    • for문 사용
  3. 조건문 사용하기
function countAllCharacters(str) {
 let obj = {} 
 // 빈 객체 만들기
 
 let key = str[i] 
 // for문으로 돌린 str[i]를 키값으로 변수할당
 
  for ( let i = 0; i < str.length; i++){ 
  //  for문으로 문자 하나하나 가져오기
  
    if( key in obj){ // 조건문으로 객체안에 키값이 있다면
    
      obj[key] = obj[key] + 1 // 그 key의 value 값으로 숫자 1을 추가함
      
    } else if ((!key in obj)){ // 키값이 객체에 없으면 1로 고정
      obj[key] = 1 
      
    }
 }
 return obj 는 객체
}

let output = countAllCharacters('banana');
console.log(output); // --> {b: 1, a: 3, n: 2}

결론
사실 본 글과 다르게 문제를 풀었다
하지만 이 코드가 내 코드 보다 더 가독성이 편하고 더 짧고 간단해서
이 코드를 더 확실하게 이해 하기 위해 복습하기로 했다

0개의 댓글