JavaScriptで文字列を圧縮する
連続する繰り返し文字を含む可能性のある文字列を受け取るJavaScript関数を作成する必要があります。
関数は次のように文字列を圧縮する必要があります-
'wwwaabbbb' -> 'w3a2b4' 'kkkkj' -> 'k4j'
また、圧縮された文字列の長さが元の文字列以上の場合は、元の文字列を返す必要があります。
例-
「aab」は「a2b1」に圧縮できますが、長さが4に増えるため、関数は「aab」を返す必要があります。
例
このためのコードは-
になりますconst str1 = 'wwwaabbbb'; const str2 = 'kkkkj'; const str3 = 'aab'; const compressString = (str = '') => { let res = ''; let count = 1; for(let i = 0; i < str.length; i++){ let cur = str[i]; let next = str[i + 1]; if(cur === next){ count++; }else{ res += cur + String(count); count = 1; }; } return res.length < str.length ? res : str; }; console.log(compressString(str1)); console.log(compressString(str2)); console.log(compressString(str3));
出力
そして、コンソールの出力は-
になります3a2b4 k4j1 aab
-
JavaScript文字列をブール値に変換します
JavaScriptで文字列をブール値に変換するためのコードは次のとおりです- 例 <!DOCTYPE html> <html> <head> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } </style> </head> <body> <h1>Converting strin
-
JavaScriptの同様の文字列グループ
str1の2つの文字(異なる位置にある)を入れ替えてstr2と等しくなる場合、2つの文字列str1とstr2は類似しています。また、2つの文字列str1とstr2は、等しい場合は類似しています。 たとえば、「tars」と「rats」は類似しており(位置0と2で交換)、「rats」と「arts」は類似していますが、「star」は「tars」、「rats」、または「芸術」。 一緒に、これらは類似性によって2つの接続されたグループを形成します:{tars、 rats、arts}および{star}。 「tars」と「arts」は似ていなくても同じグループに属していることに注意してください。 正式