Để xóa các phần tử, chúng ta chỉ cần tìm và xóa chúng bằng cách sử dụng một lệnh gọi hàm nối đơn giản để xóa các phần tử tại chỗ khỏi một mảng.
Hãy để chúng tôi xem xét việc triển khai tương tự -
Ví dụ
remove(key) { let hashCode = this.hash(key); for (let i = 0; i < this.container[hashCode].length; i++) { // Find the element in the chain if (this.container[hashCode][i].key === key) { this.container[hashCode].splice(i, 1); return true } } return false; }
Bạn có thể kiểm tra điều này bằng cách sử dụng -
Ví dụ
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); console.log(ht.get(20)); console.log(ht.remove(20)); console.log(ht.get(20)); console.log(ht.remove(20));
Đầu ra
Điều này sẽ cung cấp đầu ra -
{ key: 20, value: 72 } true undefined false
Điều này đã trở lại đúng trong lần đầu tiên vì nó đã được tìm thấy và xóa thành công. Lần tiếp theo, vì nó không có mặt, hàm remove trả về false.