Computer >> Máy Tính >  >> Lập trình >> Javascript

Tham gia hai bảng băm trong JavaScript


Đôi khi chúng ta cần kết hợp các vùng chứa với nhau bằng cách sử dụng hàm nối và lấy một vùng chứa mới. Chúng tôi sẽ viết một phương thức nối tĩnh lấy 2 HashTable và tạo một HashTable mới với tất cả các giá trị. Để đơn giản, chúng tôi sẽ cho phép các giá trị từ thứ hai ghi đè các giá trị cho lần đầu tiên nếu có bất kỳ phím nào có trong cả hai.

Ví dụ

static join(table1, table2) {
   // Check if both args are HashTables
   if(!table1 instanceof HashTable || !table2 instanceof HashTable) {
      throw new Error("Illegal Arguments")
   }

   let combo = new HashTable();
   table1.forEach((k, v) => combo.put(k, v));
   table2.forEach((k, v) => combo.put(k, v));
   return combo;
}

Bạn có thể kiểm tra điều này bằng cách sử dụng -

Ví dụ

let ht1 = new HashTable();

ht1.put(10, 94);
ht1.put(20, 72);
ht1.put(30, 1);

let ht2 = new HashTable();

ht2.put(21, 6);
ht2.put(15, 21);
ht2.put(32, 34);

let htCombo = HashTable.join(ht1, ht2)

htCombo.display();

Ví dụ

Điều này sẽ cung cấp đầu ra -

0:
1:
2:
3:
4: { 15: 21 }
5:
6:
7:
8: { 30: 1 }
9: { 20: 72 }
10: { 10: 94 } --> { 21: 6 } --> { 32: 34 }