Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การสร้างตารางแฮชโดยใช้ Javascript


ให้เราตั้งค่าคลาสง่าย ๆ ที่เราจะใช้เพื่อกำหนดวิธีการเหล่านี้ทั้งหมด เราจะสร้างวัตถุคอนเทนเนอร์เพื่อจัดเก็บตารางแฮชและสร้างฟังก์ชันการแสดงผลเพื่อแสดงตาราง โปรดทราบว่าสำหรับการแก้ปัญหาการชน เราจะใช้การโยง

ฟังก์ชันการแสดงผลจะนำแต่ละรายการ (ค่าที่แฮช) มาไว้ในตารางและพิมพ์คู่ทั้งหมดที่เกี่ยวข้องกัน

ตัวอย่าง

นอกจากนี้เรายังจะสร้างคลาสใหม่ในต้นแบบเพื่อจัดเก็บคู่คีย์-ค่า

class HashTable {
   constructor() {
      this.container = [];
      // Populate the container with empty arrays
      // which can be used to add more elements in
      // cases of collisions
      for(let i=0; i < 11; i ++ ) {
         this.container.push([]);
      }
      display() {
         this.container.forEach((value, index) => {
            let chain = value
            .map(({ key, value }) => `{ ${key}: ${value} }`)
            .join(" --> ");
            console.log(`${index}: ${chain}`);
         });
      }
      hash(key) {
         return key % 11;
      }
   }
   HashTable.prototype.KVPair = class {
      constructor(key, value) {
         this.key = key;
         this.value = value;
      }
   }
}

เรากำลังใช้คุณลักษณะขั้นสูงบางอย่าง เช่น การทำลายโครงสร้างในวิธีการแสดง ที่ช่วยหลีกเลี่ยงรหัสต้นแบบ