• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 Spread, rest 파라미터 연습문제 8번

Spread, rest 파라미터 연습문제 8번

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #25810

    박땡땡
    참가자

    저는.. 스프레드랑 레스트를 사용하지 않고 ㅠㅠ

     

    function 글자세기(arg){
      let 글자 = {
        a: 0,
        b: 0,
        c: 0
      }
      for(let a = 0; a < arg.length; a++) {
        if(arg[a] == 'a') {
          글자.a+=1;
        }
        if(arg[a] == 'b') {
          글자.b+=1;
        }
        if (arg[a] == 'c') {
          글자.c+=1;
        }
      }
      console.log(글자);
    }

    글자세기('aacbbb')

     

    이렇게 만들었는데

     

    선생님이 만드신 

    function 글자세기(글){

      var 결과 = {};
        [...글].forEach(function(i){
          if( 결과[i] > 0 ){ 결과[i]++ } else { 결과[i] = 1 }
        });
      console.log(결과)
      }
    글자세기('aacbbb')

     

    여기선 if문의 조건문이 이해되지 않습니다

    제가 생각하기에 결과[i]가 == 'a'  일 경우 카운트가 올라가야한다고 생각했는데

    선생님은  0보다 크다면이라는 조건을 거셨는데 저게 이해되지 않습니다. ㅠㅠ

    왜 결과[i]가 0보다 크다면- 결과[i]++ 되고,

    그게 아니라면 결과[i]==1 이 되는건가요?

    #25841

    codingapple
    키 마스터

    결과['a'] 에 아무것도 없으면 undefined가 남을텐데 

    undefined > 0 하면 말이 안되니 false가 그 자리에 남아서 대충사용가능합니다

    직접짠 코드는 a,b,c말고 다른 문자를 넣으면 동작하지 않는 단점이 있겠군요 

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠