자바스크립트 count
조회수 407회
자바스크립트에서는 .count() 명령이 되는건가요??
어떤 코드에서는 제대로 작도아는데 어떤 코드에서는 Error: a.count is not a function 라는 에러를 뱉어서 되는게 맞는건지 안되는게 맞는건지 모르겠습니다;;
var a = '1234567';
var b = a.count('1');
작동하면 b = 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
안에 뭔가가 몇 개 있는지를 셉니다.)그리고 필요한 코드 자체는 찾아보면 굉장히 다양하게 나옵니다. 답변이 도움이 됐으면 좋겠네요.
댓글 입력