Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript for 루프와 continue를 활용해 문장 속 특정 문자 등장 횟수 세기

이번 글에서는 문장(문자열) 안에 특정 문자가 총 몇 번 등장하는지 세는 JavaScript 함수를 작성하는 방법을 알아보겠습니다.

접근 방법

구현 아이디어는 간단합니다. 문자열을 처음부터 끝까지 for 루프로 순회하면서, 각 위치의 문자가 찾고자 하는 문자와 일치하면 카운트를 1씩 증가시킵니다. 일치하지 않는 경우에는 continue 문을 사용해 현재 반복의 나머지 코드를 건너뛰고 다음 반복으로 바로 이동합니다.

예제 코드

함수를 직접 작성해 보겠습니다 −

const string = 'This is just an example string for the program';

const countAppearances = (str, char) => {
    let count = 0;
    for(let i = 0; i < str.length; i++){
        if(str[i] !== char){
            // continue를 사용해 다음 반복으로 이동
            continue;
        }
        // 여기에 도달했다면 str[i]와 char가 같다는 의미이므로
        // 카운트를 증가시킵니다.
        count++;
    }
    return count;
};

console.log(countAppearances(string, 'a'));
console.log(countAppearances(string, 'e'));
console.log(countAppearances(string, 's'));

출력 결과

콘솔에 출력되는 결과는 다음과 같습니다 −

3
3
4

코드 설명

countAppearances 함수는 두 개의 매개변수를 받습니다. str은 검색 대상 문자열이고, char는 찾으려는 문자입니다. 루프 내에서 현재 인덱스의 문자가 찾는 문자와 다르면 continue가 실행되어 이후 코드를 건너뛰고, 같다면 count++로 개수를 하나씩 늘립니다. 모든 문자를 확인한 뒤 최종 카운트를 반환합니다.

예제 문자열에서는 'a'가 3번, 'e'가 3번, 's'가 4번 나타나므로 위와 같은 결과가 출력됩니다. 참고로 break는 조건에 따라 루프 자체를 완전히 종료할 때 사용하는 문으로, 이 예제처럼 전체 문자열을 모두 확인해야 하는 경우에는 continue만으로 충분합니다.