ハングル野球#4(アルファベット音分離)


ソース
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=tk2rush90&logNo=221085154547
<script>
 //자모음 분리
        function getConstantVowel(kor) {
            const f = ['ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ',
                    'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅉ',
                    'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'];
            const s = ['ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ', 'ㅔ', 'ㅕ',
                    'ㅖ', 'ㅗ', 'ㅘ', 'ㅙ', 'ㅚ', 'ㅛ', 'ㅜ',
                    'ㅝ', 'ㅞ', 'ㅟ', 'ㅠ', 'ㅡ', 'ㅢ', 'ㅣ'];
            const t = ['', 'ㄱ', 'ㄲ', 'ㄳ', 'ㄴ', 'ㄵ', 'ㄶ',
                    'ㄷ', 'ㄹ', 'ㄺ', 'ㄻ', 'ㄼ', 'ㄽ', 'ㄾ',
                    'ㄿ', 'ㅀ', 'ㅁ', 'ㅂ', 'ㅄ', 'ㅅ', 'ㅆ',
                    'ㅇ', 'ㅈ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'];

            const ga = 44032;
            let uni = kor.charCodeAt(0);

            uni = uni - ga;

            let fn = parseInt(uni / 588);
            let sn = parseInt((uni - (fn * 588)) / 28);
            let tn = parseInt(uni % 28);

            return {
                f: f[fn],
                s: s[sn],
                t: t[tn]
            };
        };
</script>

1.アルファベット音の分離方法


ネットで調べてみると、いくつかの方法がありますが、以上のソースの文章が最も直感的で、理解しやすいので、内容を参考にしました.もちろん、すべての字、母音を分けて、すべての場合1文字で構成できる数字を形成する方法もありますが、あまりにも効率的ではありません.
この文章の作者は各字のためにUnicodeの規則を探して、それを通じて関数を作成して、分離することができます.