JavaScriptでの頻度による文字列文字の並べ替え
問題
文字列を唯一の引数として受け取るJavaScript関数を作成する必要があります。
関数は、元の文字列に基づいて新しい文字列を準備する必要があります。この文字列では、ほとんどの回数出現する文字が最初に配置され、次に頻度が減少する数字が配置されます。
たとえば、関数への入力が-
の場合const str = 'free';
その場合、出力は-
になります。const output = 'eefr';
出力の説明:
eは2回表示されるため、最初に配置され、次にrとfが配置されます。
例
このためのコードは-
になりますconst str = 'free'; const frequencySort = (str = '') => { let map = {} for (const letter of str) { map[letter] = (map[letter] || 0) + 1; }; let res = ""; let sorted = Object.keys(map).sort((a, b) => map[b] - map[a]) for (let letter of sorted) { for (let count = 0; count < map[letter]; count++) { res += letter } } return res; }; console.log(frequencySort(str));
コードの説明:
私たちが取ったステップは-
-
まず、文字数のハッシュマップを作成しました
-
次に、文字数で地図を並べ替えました
-
そして最後に、ソートされた文字からres文字列を生成しました
出力
そして、コンソールの出力は-
になりますeefr
-
JavaScript正規表現の\wと\W?
\ w vs \ W の間には多くのバリエーションがあります \ w および\ W javascript 前者は「単語文字」の世話をします 英数字など。後者は単語以外の文字の世話をします。 &、^、%など。簡単に説明しましょう。 構文-1 new RegExp("\\w", "g"); 上記のコードは、単語文字を見つけるための構文を示しています。 javascriptで。 構文-2 new RegExp("\\W", "g"); 上記のコードは、単語以外の文字を見つけるための構文を示しています。 j
-
JavaScriptで文字をエスケープする
エスケープ文字は、意図したものとは別の方法で解釈できる文字です。これらの文字をそのまま印刷するには、それらの前に円記号「\」を含めます。以下はJavaScriptのエスケープ文字です- コード 結果 \ b バックスペース \ f フォームフィード \ n 改行 \ r キャリッジリターン \ t 水平タブレーター \ v 垂直タブレーター \ 一重引用符 \ 二重引用符 \\ バックスラッシュ 以下は、javaScriptでエスケープ文字のバックスラッシュを実装するコードで