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

JavaScriptで1つの文字列を繰り返して他の文字列を形成できますか


問題

最初と2番目の引数としてstr1とstr2の2つの文字列を受け取るJavaScript関数を作成する必要があります。

この関数は、文字列str2がそのサブ文字列になるように、文字列str1を繰り返す必要がある最小回数を返す必要があります。 str2を繰り返した後、その部分文字列にすることが不可能な場合は、-1を返す必要があります

たとえば、関数への入力が

入力

const str1 = 'wxyz';
const str2 = 'yzwxyzwx';

出力

const output = 3;

出力の説明

「abcdabcdabcd」を3回繰り返すことにより、bはその部分文字列であるため、3を返します。

以下はコードです-

const str1 = 'wxyz';
const str2 = 'yzwxyzwx';
const countRepeat = (str1 = '', str2) => {
   let i = 1
   let current = str1
   while (true) {
      if (current.indexOf(str2) >= 0) {
         return i
      }
      if ((current.length > str2.length * 2) && i > 2) {
         return -1
      }
      current += str1
      i += 1
   }
}
console.log(countRepeat(str1, str2));

出力

3

  1. JavaScript1つのフィールドを他のフィールドと同じように自動入力

    あるフィールドを他のフィールドと同じように自動入力するためのJavaScriptスクリプトは次のとおりです- 例 <!DOCTYPE html> <html> <head> <style>    body {       font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;    } </style> </head> <body> <h1>J

  2. 2つの配列を1つのJavaScriptオブジェクトに変換できますか?

    以下は、2つの配列を1つのJavaScriptオブジェクトに変換するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>