極個人的プログラミング学習備忘録

HTML、CSS、PHP、JavaScript、Vueなどで学習したことをメモしていきます

JavaScriptで文字列から重複する文字を削除する

JavaScriptで文字列から重複する文字列を削除する関数。

例えば、
aabccnnaddkk

abcndk
にしたい場合に使う

    //文字列から重複する文字を削除
    function remove_duplicates(str){
        let target = "";
        while(str.length){
            target += str.substring(0,1);
            str = str.replace(new RegExp(str.substring(0,1), 'g'), '');
        }
        return target;
    }

もっと良い書き方はあるかもだけど、とりあえずこれで。

※2023/5/22追記
以下の方法がシンプル。

function remove_duplicates(str) {
    return [...new Set(str)].join('');
}

Set オブジェクトを作成するときに文字列 str をスプレッド構文 (...) で展開する。Set は一意の値のみを格納するので、これにより文字列内のすべての一意な文字が取得される。
join('') を使用して、取得した一意な文字を1つの文字列に結合する。