Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

文字列が完全に同じ部分文字列JavaScriptで構成されているかどうかを確認します


文字列を取り込むJavaScript関数を作成する必要があります。入力が繰り返される文字シーケンスで構成されているかどうかに基づいて、trueまたはfalseを返す必要があります。

指定された文字列の長さは常に1より大きく、文字シーケンスには少なくとも1回の繰り返しが必要です。

例-

  • 「aa」には2つの文字列「a」が完全に含まれているため、trueを返す必要があります
  • "aaa"は、3つの文字列 "a"が完全に含まれているため、trueを返す必要があります
  • "abcabcabc"は、3つの文字列 "abc"を完全に含むため、trueを返す必要があります
  • 「aba」はfalseを返す必要があります。これは、少なくとも2つの同じ部分文字列があり、それ以上は存在しないためです。
  • 「ab」は2回存在しますが、「a」は余分に偽であるため、「ababa」はfalseを返す必要があります

const checkCombination = (str = '') => {
   if( str.length==1 ) {
      return true;
   };
   for(let i = 1; i <= str.length / 2; i++){
      if(str.length % i !== 0){
         continue;
      }
      const sub = str.substring(0, i);
      if(isRepeating(sub, str)){
         return true;
      };
   };
   return false;
}
const isRepeating = (sub, str) => {
   if(str.length > sub.length){
      let left = str.substring(0,sub.length);
      let right = str.substring(sub.length, str.length);
      return left===sub && isRepeating(sub,right);
   };
   return str === sub;
}
console.log(checkCombination('aa'));
console.log(checkCombination('aaa'));
console.log(checkCombination('abcabcabc'));
console.log(checkCombination('aba'));
console.log(checkCombination('ababa'));

出力

これにより、次の出力が生成されます-

true
true
true
false
false

  1. ユーザーが入力した文字列がJavaScriptの配列に含まれているかどうかを確認します

    ユーザーに文字列値を入力するための入力を提供するJavaScriptプログラムを作成する必要があります。 次に、プログラムは入力値をハードコードされた配列値と照合する必要があります。入力文字列値が配列に含まれている場合、プログラムは画面にtrueを出力し、含まれていない場合はfalseを出力する必要があります。 例 このためのコードは-になります <!DOCTYPE html> <html> <head>    <meta charset="utf-8">    <meta n

  2. JavaScriptで時間文字列を修正する

    問題 「HH:MM:SS」形式の時間文字列を受け取るJavaScript関数を作成する必要があります。 しかし、それに加えて問題があり、多くのタイムストリングが壊れているため、MM部分が60を超え、SS部分も60を超える可能性があります。 この関数は、文字列に必要な変更を加えて、修正された新しい文字列を返す必要があります。 たとえば- "08:11:71" -> "08:12:11" 例 以下はコードです- const str = '08:11:71'; const rectifyTime = (str = '&#