이번 글에서는 공백이 포함된 문자열을 입력받아 그 문자열 안에 몇 개의 공백이 있는지 세는 JavaScript 함수를 작성하는 방법을 알아보겠습니다.
예를 들어, 입력 문자열이 다음과 같다면 −
const str = 'this is a string';
출력 결과는 다음과 같아야 합니다 −
const output = 4;
구현 예제
가장 기본적인 접근 방식은 문자열을 한 글자씩 순회하면서 각 문자가 공백(' ')인지 확인하고, 공백일 때마다 카운트를 증가시키는 것입니다.
const str = 'this is a string';
const countSpaces = (str = '') => {
let count = 0;
for (let i = 0; i < str.length; i++) {
const el = str[i];
if (el !== ' ') {
continue;
};
count++;
};
return count;
};
console.log(countSpaces(str));출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다 −
4
대체 방법: split() 활용하기
for 루프 대신 split() 메서드를 사용하면 코드를 더 간결하게 작성할 수 있습니다. 공백을 기준으로 문자열을 나누면 배열의 길이에서 1을 뺀 값이 곧 공백의 개수가 됩니다.
const countSpaces = (str = '') => {
return str.split(' ').length - 1;
};
console.log(countSpaces('this is a string')); // 4정리
문자열 내 공백 개수를 세는 방법은 크게 두 가지입니다. 첫째, 반복문으로 각 문자를 검사하는 방식이고, 둘째, split() 메서드를 활용하는 방식입니다. 짧은 문자열이라면 어느 방법이든 충분하지만, 가독성 측면에서는 split()을 사용한 한 줄 코드가 더 효율적일 수 있습니다.