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

การหาระยะทางแฮมมิ่งในสตริงด้วย JavaScript

ระยะทางแฮมมิ่ง (Hamming Distance)

ระยะทางแฮมมิ่งระหว่างสตริงสองตัวที่มีความยาวเท่ากัน คือจำนวนตำแหน่งที่สตริงทั้งสองแตกต่างกัน

กล่าวอีกนัยหนึ่ง คือการวัดจำนวนการเปลี่ยนแปลงขั้นต่ำที่ต้องทำเพื่อเปลี่ยนสตริงหนึ่งให้กลายเป็นอีกสตริงหนึ่ง ระยะทางแฮมมิ่งมักวัดกับสตริงที่มีความยาวเท่ากัน

เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงสองตัว str1 และ str2 ที่มีความยาวเท่ากัน ฟังก์ชันต้องคำนวณและคืนค่าระยะทางแฮมมิ่งระหว่างสตริงทั้งสอง

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

const str1 = 'Hello World';
const str2 = 'Heeyy World';
const findHammingDistance = (str1 = '', str2 = '') => {
  let distance = 0;
  if(str1.length === str2.length) {
    for (let i = 0; i < str1.length; i++) {
      if (str1[i].toLowerCase() != str2[i].toLowerCase()) {
        distance++;
      }
    }
    return distance;
  }
  return 0;
};
console.log(findHammingDistance(str1, str2));

ผลลัพธ์

3