一个字符串可以在 JavaScript 中重复形成另一个字符串吗

问题

我们需要编写一个 JavaScript 函数,它接受两个字符串 str1 和 str2 作为第一个和第二个参数。

我们的函数应该返回我们应该重复字符串 str1 的最少次数,以便字符串 str2 是它的子字符串。如果重复之后str2不可能成为a的子串,我们应该返回-1

例如,如果函数的输入是

输入

const str1 = 'wxyz';

const str2 = 'yzwxyzwx';

输出

const output = 3;

输出说明

我们返回 3,因为通过重复 a 三次“abcdabcdabcd”,b 是它的一个子串。

示例

以下是代码 -

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

以上是 一个字符串可以在 JavaScript 中重复形成另一个字符串吗 的全部内容, 来源链接: utcz.com/z/338774.html

回到顶部