一个字符串可以在 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