ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่มีสองสตริงคือ str1 และ str2 เป็นอาร์กิวเมนต์แรกและตัวที่สอง
ฟังก์ชันของเราควรคืนค่าจำนวนครั้งขั้นต่ำที่เราควรทำซ้ำสตริง str1 เพื่อให้สตริง str2 เป็นสตริงย่อยของมัน หากเป็นไปไม่ได้ที่ str2 จะเป็นสตริงย่อยของ a หลังจากทำซ้ำ เราควรคืนค่า -1
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ
ป้อนข้อมูล
const str1 = 'wxyz'; const str2 = 'yzwxyzwx';
ผลผลิต
const output = 3;
คำอธิบายผลลัพธ์
เราคืนค่า 3 เพราะโดยการทำซ้ำ "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