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

JavaScript로 문자열을 스네이크 케이스(snake case)로 변환하는 방법

문자열을 입력받아 스네이크 케이스(snake case)로 변환하는 JavaScript 함수를 작성해야 합니다.

스네이크 케이스란?

스네이크 케이스는 문자열에서 단어 사이의 공백을 언더스코어(_)로 대체하고, 모든 글자를 소문자로 변환하여 작성하는 표기 방식입니다. 예를 들어 "This is a simple sentence"라는 문장은 스네이크 케이스로 변환하면 "this_is_a_simple_sentence"가 됩니다. 이 표기법은 Python 코드 작성이나 데이터베이스 컬럼명 정의 등 개발 환경에서 매우 자주 사용됩니다.

구현 예제

이를 구현한 코드는 다음과 같습니다.

const str = 'This is a simple sentence';
const toSnakeCase = (str = '') => {
    const strArr = str.split(' ');
    const snakeArr = strArr.reduce((acc, val) => {
        return acc.concat(val.toLowerCase());
    }, []);
    return snakeArr.join('_');
};
console.log(toSnakeCase(str));

출력 결과

위 코드를 실행하면 콘솔에 다음과 같은 결과가 출력됩니다.

this_is_a_simple_sentence

코드 동작 원리

함수의 동작 과정을 단계별로 살펴보면 다음과 같습니다.

  1. split(' ') : 입력받은 문자열을 공백을 기준으로 분리하여 단어들의 배열을 생성합니다.
  2. reduce() : 배열의 각 단어를 순회하면서 toLowerCase() 메서드로 모두 소문자로 변환한 뒤, 새로운 배열에 누적합니다.
  3. join('_') : 소문자로 변환된 단어들을 언더스코어(_)로 연결하여 최종적인 스네이크 케이스 문자열을 완성합니다.

이처럼 JavaScript의 내장 배열 메서드만 활용하면 별도의 외부 라이브러리 없이도 간결하고 가독성 좋게 스네이크 케이스 변환 함수를 구현할 수 있습니다.