Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การตรวจสอบว่าสตริงซ้ำตัวเองหรือไม่ใน JavaScript

เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงหนึ่งตัวเป็นอาร์กิวเมนต์เดียว ฟังก์ชันต้องตรวจจับว่าสตริงนั้นเป็นการซ้ำของชุดตัวอักษรเดียวกันหรือไม่

ถ้าเป็นการซ้ำของชุดตัวอักษรเดียวกัน ให้คืนค่า true มิฉะนั้นคืนค่า false

ตัวอย่าง

ถ้าสตริงนำเข้าคือ:

const str = 'carcarcarcar';

ผลลัพธ์ควรเป็น:

const output = true;

เพราะสตริง 'car' ซ้ำซ้อนไปเรื่อยๆ ในสตริง

ตัวอย่างโค้ด

const str = 'carcarcarcar';
const isRepeating = (str = '') => {
  if (!str.length) {
    return false;
  }
  for(let j = 1; (j <= str.length / 2); j++) {
    if (str.length % j != 0) {
      continue;
    }
    let flag = true;
    for(let i = j; i < str.length; ++i) {
      if(str[i] != str[i - j]) {
        flag = false;
        break;
      }
    }
    if(flag) {
      return true;
    }
  }
  return false;
};
console.log(isRepeating(str));

ผลลัพธ์

true