文字列はJavaScriptで繰り返される部分文字列の組み合わせですか
問題
唯一の引数として文字列を受け取るJavaScript関数を作成する必要があります。この関数は、文字列strの部分文字列を取得し、その部分文字列の複数のコピーを一緒に追加することによって、文字列strを作成できるかどうかを確認する必要があります。
たとえば、関数への入力が-
の場合const str = 'thisthisthisthis';
その場合、出力は-
になります。const output = true;
出力の説明:
文字列は「this」文字列を繰り返し追加して作成されるためです。
例
このためのコードは-
になりますconst str = 'thisthisthisthis'; const repeatedSubstring = (str = '') => { const {length} = str; const checkSubString = ss => { const m = ss.length; for (let i = 0; i < length; i += m) for (let j = 0; j < m; j++) if (str[i+j] !== ss[j]) return false; return true; }; let factor = 2, len; while (length/factor >= 1){ while (length % factor) factor++; len = length/factor; if (checkSubString(str.substring(0,len))){ return true; }; factor++; }; return false; }; console.log(repeatedSubstring(str));
コードの説明:
まず、部分文字列パターンチェック機能を設定します。
次に、文字列strを均等に分割する可能性のあるすべての要因を繰り返して、実行可能な繰り返しパターンが見つかったかどうかを判断しました。
出力
そして、コンソールの出力は-
になりますtrue
-
JavaScriptの循環文字列の一意のサブ文字列
問題 S、strがあるとします。これは、文字列の無限のラップアラウンド文字列です- "abcdefghijklmnopqrstuvwxyz". したがって、Sは次のようになります- "...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd....". strを取り込むJavaScript関数を作成する必要があります。その文字列strを唯一の引数として呼び出しましょう。 この関数は、strの一意の空でない部分文字列がSにいくつ存在するかを調べる必要があります。 この関数は、
-
JavaScriptで時間文字列を修正する
問題 「HH:MM:SS」形式の時間文字列を受け取るJavaScript関数を作成する必要があります。 しかし、それに加えて問題があり、多くのタイムストリングが壊れているため、MM部分が60を超え、SS部分も60を超える可能性があります。 この関数は、文字列に必要な変更を加えて、修正された新しい文字列を返す必要があります。 たとえば- "08:11:71" -> "08:12:11" 例 以下はコードです- const str = '08:11:71'; const rectifyTime = (str = '