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

การวนลูปผ่าน Hash Table ใน JavaScript


ตอนนี้เราจะสร้างฟังก์ชัน forEach ที่จะช่วยให้เราวนลูปผ่านคู่คีย์-ค่า (key-value pairs) ทั้งหมด และเรียก callback function กับค่าเหล่านั้น เราเพียงแค่ต้องวนลูปผ่านแต่ละ chain ใน container และเรียก callback กับคู่คีย์-ค่า

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

forEach(callback) {
  // สำหรับแต่ละ chain
  this.container.forEach(elem => {
    // สำหรับแต่ละ element ในแต่ละ chain เรียก callback กับคู่ KV
    elem.forEach(({ key, value }) => callback(key, value));
  });
}

คุณสามารถทดสอบได้ดังนี้:

ตัวอย่างการใช้งาน

let ht = new HashTable();
ht.put(10, 94);
ht.put(20, 72);
ht.put(30, 1);
ht.put(21, 6);
ht.put(15, 21);
ht.put(32, 34);
let sum = 0;
// รวมค่าทั้งหมดเข้าด้วยกัน
ht.forEach((k, v) => sum += v);
console.log(sum);

ผลลัพธ์

จะได้ผลลัพธ์ดังนี้:

228