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つの文字列に結合する。