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

การจับคู่สตริงสำหรับตัวอักษรที่คล้ายกัน - JavaScript

ตรวจสอบว่าสองสตริงมีตัวอักษรเหมือนกัน (ignore order) หรือต่างกันสูงสุด n ตัวอักษร

ตัวอย่าง

str1 = 'some random text'
str2 = 'some r@ndom text'
n = 1
// ต่างกันที่ '@' แทน 'a' → 1 ตัว → true

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

const str = 'some random text';
const str2 = 'some r@ndom text';

const deviationMatching = (first, second, num) => {
  let count = 0;
  for (let i = 0; i < first.length; i++) {
    if (!second.includes(first[i])) {
      count++;
    }
    if (count > num) return false;
  }
  return true;
};

console.log(deviationMatching(str, str2, 1));

ข้อจำกัด

  • ตรวจสอบเฉพาะทิศทาง first → second (ไม่ symmetric)
  • includes ไม่พิจารณาจำนวนครั้ง (multiplicity)
  • เหมาะสำหรับการประมาณความคล้ายคลึงแบบง่าย

ผลลัพธ์

true