자바스크립트 count

조회수 407회

자바스크립트에서는 .count() 명령이 되는건가요??

어떤 코드에서는 제대로 작도아는데 어떤 코드에서는 Error: a.count is not a function 라는 에러를 뱉어서 되는게 맞는건지 안되는게 맞는건지 모르겠습니다;;

var a = '1234567';
var b = a.count('1');

작동하면 b = 1, 안되면 에러 발생

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    주신 코드만 놓고 보면, String.prototype.count() 메소드가 사전에 정의돼 있어야 합니다. 그런데 애석하게도 그런 메소드는 정의돼 있지 않죠. 그래서 코드가 작동 안 하는 겁니다.

    var a = (뭔가 String);
    var b = a.count('1'); // 여기서 발생하는 오류의 뜻: count는 함수여야 할 거 같은데 그렇지 않습니다! 아무래도 a가 count를 수행할 방법("method")이 없는 듯합니다! 이 각본("script")대로 진행할 수 없습니다! 에러! 실행을 중단합니다.
    

    "A '명령'을 B에 쓸 수 있나?"는, "A '메소드'가 B에서 이용 가능한가?"라는 질문으로 바뀌어야 하고, 그래서 B의 명세서를 찾아서 거기서 A를 찾는 과정으로 이어져야 합니다.


    원하시는 작업은 단순히 '셈하기'(count)라고 부르면 안 되고, '등장 횟수 세기'(occurence count)라고 불러야 합니다. (*영단어 count는 무차별적으로 머릿수를 세는 행위를 가리킵니다. 예컨대 PHP의 count($a) 내장함수는 $a 안에 뭔가가 몇 개 있는지를 셉니다.)

    그리고 필요한 코드 자체는 찾아보면 굉장히 다양하게 나옵니다. 답변이 도움이 됐으면 좋겠네요.

    • 감사합니다. 찾아보니 .count 명령은 없는 거라고 판단되서 해당 방법을 찾아서 적용 중이었습니다. 처음부터 안됐으면 상관없는데 처음엔 대체 왜 된건지 그거때문에 싹다 count로 처리했다가 귀찮아 죽겠네요.. ㅠㅠ 초보자 2022.1.18 16:13

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)