Tạo một hashmap trong JavaScript

Hashmap hay còn gọi là Hash Table là tập hợp các phần tử trong đó các phần tử được lưu trữ dưới dạng cặp khóa-giá trị. Không có sẵn cấu trúc dữ liệu được xác định trước cho hashmap được triển khai bằng ngôn ngữ lập trình JavaScript trước đây. Không giống như các ngôn ngữ lập trình khác như C++ hay Java, nơi cấu trúc dữ liệu này đã được triển khai. Do đó, mọi người thường tìm kiếm các lựa chọn thay thế khác nhau để triển khai hashmap và hầu hết thời gian, họ đã quen sử dụng các đối tượng vì chúng cũng có cấu trúc khóa-giá trị

Trong phiên bản ES6 của JavaScript, cộng đồng JavaScript giới thiệu một cấu trúc dữ liệu mới để triển khai hashmap được gọi là đối tượng Map, là một cặp khóa-giá trị. Hãy xem cách triển khai hashmap bằng cách sử dụng đối tượng Map và thực hiện các thao tác khác nhau như chèn, xóa và cập nhật bằng một số phương thức được xác định trước

Triển khai Hashmap bằng đối tượng Map trong JavaScript

Đối tượng Map, như chúng ta đã thấy, là một cặp khóa-giá trị. Ban đầu, Bản đồ sẽ trống; . Khóa trong hashmap sẽ thuộc loại chuỗi hoặc ký hiệu và giá trị của hashmap có thể thuộc bất kỳ loại nào

Để tạo một Map, bạn có thể tạo một đối tượng của nó và lưu trữ nó bên trong một biến, trong trường hợp này là hashmap. Bây giờ để chèn các cặp khóa-giá trị bên trong hashmap, JavaScript cung cấp một phương thức có tên là

hashmap.forEach(element => {
    document.write('
'+element); });
0. Phương thức này có hai tham số, tham số đầu tiên là khóa và tham số thứ hai là giá trị. Bên trong hashmap mà chúng tôi đã tạo, chúng tôi sẽ chèn bốn phần tử, mỗi phần tử sẽ có một giá trị thuộc một loại khác nhau như số nguyên, mảng, chuỗi và toàn bộ hàm. Dưới đây là mã thể hiện điều tương tự

var hashmap = new Map();

hashmap.set('1', 700);
hashmap.set('2', [1,2,3]);
hashmap.set('3', "This is a string");
hashmap.set('4', ()=>{console.log("Hello World")});

console.log(hashmap);

Sau khi bạn chạy đoạn mã trên, đây là giao diện trong bảng điều khiển

creating_hashmap

Như bạn có thể thấy, chúng tôi đã chèn nhiều loại dữ liệu khác nhau, bao gồm toàn bộ hàm dưới dạng giá trị cho hashmap

Chúng tôi đã tạo một hashmap; . Nó có thể được thực hiện với sự trợ giúp của vòng lặp

hashmap.forEach(element => {
    document.write('
'+element); });
2

hashmap.forEach(element => {
    document.write('
'+element); });

Đầu ra của điều này sẽ trực tiếp trên màn hình chứ không phải bên trong bảng điều khiển bằng cách sử dụng phương thức

hashmap.forEach(element => {
    document.write('
'+element); });
3

printing elements in javascript hashmap

Bây giờ, hãy kiểm tra xem khóa '3' có bên trong hashmap hay không bằng cách sử dụng phương pháp

hashmap.forEach(element => {
    document.write('
'+element); });
4. Nếu khóa hiện diện bên trong hashmap, chúng tôi sẽ thay đổi hoặc thay thế giá trị hiện có của khóa '3' bằng cách sử dụng phương pháp
hashmap.forEach(element => {
    document.write('
'+element); });
0

if(hashmap.has('3')){
    hashmap.set('3', "We changed the value...")
}

console.log(hashmap);

đầu ra

update_value_hashmap

Cuối cùng, để xóa một phần tử khỏi hashmap, bạn có thể sử dụng phương thức

hashmap.forEach(element => {
    document.write('
'+element); });
6 và chuyển khóa thích hợp mà bạn muốn xóa. Và nếu bạn muốn xóa tất cả các phần tử khỏi hashmap cùng một lúc và làm cho nó trống, bạn có thể sử dụng phương thức
hashmap.forEach(element => {
    document.write('
'+element); });
7 như sau

Trong chương ArrayList, bạn đã học được rằng Mảng lưu trữ các mục dưới dạng bộ sưu tập có thứ tự và bạn phải truy cập chúng bằng một số chỉ mục (loại ____35_______). Tuy nhiên, một HashMap lưu trữ các mục theo cặp "khóa/giá trị" và bạn có thể truy cập chúng bằng một chỉ mục thuộc loại khác (e. g. một String)

Một đối tượng được sử dụng làm khóa (chỉ mục) cho đối tượng (giá trị) khác. Nó có thể lưu trữ các loại khác nhau. Các khóa String và giá trị

// Import the HashMap class
import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    // Create a HashMap object called capitalCities
    HashMap capitalCities = new HashMap();

    // Add keys and values (Country, City)
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    System.out.println(capitalCities);
  }
}
1 hoặc cùng loại, chẳng hạn như. Khóa String và giá trị String

Thí dụ

Tạo một đối tượng HashMap được gọi là vốnCities sẽ lưu trữ các khóa String và giá trị String

import java.util.HashMap; // import the HashMap class

HashMap capitalCities = new HashMap();


Thêm các mục

Lớp HashMap có nhiều phương thức hữu ích. Ví dụ: để thêm các mục vào nó, hãy sử dụng phương thức

// Import the HashMap class
import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    // Create a HashMap object called capitalCities
    HashMap capitalCities = new HashMap();

    // Add keys and values (Country, City)
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    System.out.println(capitalCities);
  }
}
8

Thí dụ

// Import the HashMap class
import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    // Create a HashMap object called capitalCities
    HashMap capitalCities = new HashMap();

    // Add keys and values (Country, City)
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    System.out.println(capitalCities);
  }
}

Tự mình thử »


Truy cập một mục

Để truy cập một giá trị trong HashMap, hãy sử dụng phương thức

// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}
0 và tham khảo khóa của nó


Xóa một mục

Để xóa một mục, hãy sử dụng phương pháp

// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}
1 và tham khảo khóa

Để xóa tất cả các mục, hãy sử dụng phương pháp

// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}
2



Kích thước HashMap

Để biết có bao nhiêu mục, hãy sử dụng phương pháp

// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}
3


Lặp qua HashMap

Lặp qua các mục của một HashMap với một vòng lặp cho từng

Ghi chú. Sử dụng phương pháp

// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}
5 nếu bạn chỉ muốn các khóa và sử dụng phương pháp
// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}
6 nếu bạn chỉ muốn các giá trị

Thí dụ

// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}

Tự mình thử »

Thí dụ

// Print values
for (String i : capitalCities.values()) {
  System.out.println(i);
}

Tự mình thử »

Thí dụ

// Print keys and values
for (String i : capitalCities.keySet()) {
  System.out.println("key: " + i + " value: " + capitalCities.get(i));
}

Tự mình thử »


Các loại khác

Các khóa và giá trị trong HashMap thực sự là các đối tượng. Trong các ví dụ trên, chúng tôi đã sử dụng các đối tượng kiểu "Chuỗi". Hãy nhớ rằng Chuỗi trong Java là một đối tượng (không phải kiểu nguyên thủy). Để sử dụng các kiểu khác, chẳng hạn như int, bạn phải chỉ định một lớp trình bao bọc tương đương.

// Import the HashMap class
import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    // Create a HashMap object called capitalCities
    HashMap capitalCities = new HashMap();

    // Add keys and values (Country, City)
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    System.out.println(capitalCities);
  }
}
1. Đối với các loại nguyên thủy khác, sử dụng.
// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}
8 cho boolean,
// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}
9 cho char,
// Print values
for (String i : capitalCities.values()) {
  System.out.println(i);
}
0 cho double, v.v.

Làm cách nào để tạo hashmap trong JavaScript?

Bạn có thể triển khai Bảng băm trong JavaScript theo ba bước. .
Tạo một lớp HashTable với các thuộc tính ban đầu của bảng và kích thước
Thêm hàm băm () để chuyển đổi khóa thành chỉ mục
Thêm các phương thức set() và get() để thêm và truy xuất các cặp khóa/giá trị từ bảng

Có hashmap trong JavaScript không?

Mặc dù JavaScript không có lớp Hashtable gốc, nhưng nó có các Đối tượng gốc và Hashmap(Bản đồ) cung cấp chức năng tương tự khi nó .

Làm cách nào để sử dụng bản đồ băm trong JavaScript?

5 cách sử dụng Hashmap JavaScript .
1 – Đếm số phím
2 – Xóa khóa. .
3 – Kiểm tra sự tồn tại của khóa và sửa đổi khóa. Nếu không có hashmap, bạn sẽ phải làm điều này. .
4 – In tất cả các đối tượng trong hashmap. cho (var x ở động vật).
5 – Tạo hashmap và thêm khóa. // Tạo hashmap. .

Làm cách nào để tạo bản đồ trong JavaScript?

new Map() Bạn có thể tạo một Map bằng cách chuyển một Array tới hàm tạo Map() mới. .
Bản đồ. get() Phương thức get() lấy giá trị của một key trong Map. .
Bản đồ. kích thước. Thuộc tính kích thước trả về số phần tử trong Bản đồ. .
Bản đồ. delete() Phương thức delete() loại bỏ một phần tử Bản đồ. .
Bản đồ. thông thoáng().
Bản đồ. cho mỗi().
Bản đồ. mục().
Bản đồ. phím()