ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน 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