자음 모음 분리하기

smith_94·2022년 8월 9일
0

자음 모음 분리하기

function getConstantVowel(letter: string) {
    const consonantArr = ['ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ',
               'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅉ',
               'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'];

    const vowelArr = ['ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ', 'ㅔ', 'ㅕ',
            'ㅖ', 'ㅗ', 'ㅘ', 'ㅙ', 'ㅚ', 'ㅛ', 'ㅜ',
            'ㅝ', 'ㅞ', 'ㅟ', 'ㅠ', 'ㅡ', 'ㅢ', 'ㅣ'];

    const finalConsonantArr = ['', 'ㄱ', 'ㄲ', 'ㄳ', 'ㄴ', 'ㄵ', 'ㄶ',
            'ㄷ', 'ㄹ', 'ㄺ', 'ㄻ', 'ㄼ', 'ㄽ', 'ㄾ',
            'ㄿ', 'ㅀ', 'ㅁ', 'ㅂ', 'ㅄ', 'ㅅ', 'ㅆ',
            'ㅇ', 'ㅈ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'];

    const firstLetter = 44032;
    let uni = letter.charCodeAt(0);

    uni = uni - firstLetter;

    let consonantUni = parseInt((uni / 588).toString());
    let vowelUni = parseInt(((uni - (consonantUni * 588)) / 28).toString());
    let finalConsonantUni = parseInt((uni % 28).toString());

    return {
        consonant: consonantArr[consonantUni],
        vowel: vowelArr[vowelUni],
        finalConsonant: finalConsonantArr[finalConsonantUni]
    };
}

0개의 댓글