Hashmap trong JavaScript
Bản đồ chứa các cặp khóa-giá trị trong đó các khóa có thể là bất kỳ kiểu dữ liệu nào Show
Bản đồ ghi nhớ thứ tự chèn ban đầu của các phím Bản đồ có một thuộc tính đại diện cho kích thước của bản đồ Phương pháp bản đồMethodDescriptionnew Map() Tạo một Map objectset mới() Đặt giá trị cho một khóa trong Mapget() Lấy giá trị cho một khóa trong Mapclear() Xóa tất cả các phần tử khỏi Mapdelete() Xóa phần tử Map được chỉ định bởi một keyhasCách tạo bản đồBạn có thể tạo Bản đồ JavaScript bằng cách
Bản đồ mới()Bạn có thể tạo Bản đồ bằng cách chuyển một Mảng tới hàm tạo Ví dụ// Tạo bản đồ Bản đồ. bộ()Bạn có thể thêm các phần tử vào Bản đồ bằng phương pháp Ví dụ// Tạo bản đồ // Đặt giá trị bản đồ Phương pháp Bản đồ. được()Phương thức const m = new Hashmap(); 0 lấy giá trị của một khóa trong Bản đồBản đồ. kích thướcThuộc tính const m = new Hashmap(); 1 trả về số phần tử trong Bản đồBản đồ. xóa bỏ()Phương thức const m = new Hashmap(); 2 loại bỏ một phần tử Bản đồBản đồ. xa lạ()Phương thức const m = new Hashmap(); 3 xóa tất cả các phần tử khỏi Bản đồBản đồ. có()Phương thức const m = new Hashmap(); 4 trả về true nếu một khóa tồn tại trong Bản đồBản đồ là đối tượng
Đối tượng JavaScript so với Bản đồSự khác biệt giữa Đối tượng JavaScript và Bản đồBản đồ đối tượngKhông thể lặp lại trực tiếpCó thể lặp lại trực tiếpKhông có thuộc tính kích thướcCó thuộc tính kích thướcKhóa phải là Chuỗi (hoặc Ký hiệu)Khóa có thể là bất kỳ kiểu dữ liệuKhóa không được sắp xếp hợp lýKhóa được sắp xếp theo cách chènCó khóa mặc địnhKhông có khóa mặc địnhBản đồ. cho mỗi()Phương thức Ví dụ// Liệt kê tất cả các mục Bản đồ. mục()Phương thức Ví dụ// Liệt kê tất cả các mục nhập Bản đồ. phím()Phương thức Ví dụ// Liệt kê tất cả các khóa Bản đồ. giá trị()Phương thức Ví dụ// Liệt kê tất cả các giá trị Bạn có thể sử dụng phương pháp Ví dụ// Tính tổng tất cả các giá trị Đối tượng như KeysCó thể sử dụng các đối tượng làm chìa khóa là một tính năng quan trọng của Bản đồ Ví dụ// Tạo đối tượng // Tạo bản đồ // Thêm phần tử mới vào bản đồ Nhớ. Khóa là một đối tượng (quả táo), không phải là một chuỗi ("quả táo") Hỗ trợ trình duyệtBản đồ JavaScript được hỗ trợ trong tất cả các trình duyệt, ngoại trừ Internet Explorer ChromeEdgeFirefoxSafariOpera Mảng là tuyệt vời để tra cứu các phần tử tại các chỉ mục cụ thể vì tất cả các phần tử trong bộ nhớ đều liền kề nhau, cho phép tra cứu theo thời gian liên tục hoặc const m = new Hashmap(); 2. Nhưng thường thì chúng ta không hoặc không thể thực hiện tra cứu thông qua các chỉ số. Bản đồ băm và bảng băm là một cách giải quyết vấn đề này, thay vào đó cho phép chúng tôi tra cứu qua const m = new Hashmap(); 3Bạn có thể triển khai lớp const m = new Hashmap(); 4 từ đầu không? . Nhiều ngôn ngữ lập trình có hàm băm hoặc từ điển nguyên thủy tích hợp sẵn (như ký hiệu const m = new Hashmap(); 2 const m = new Hashmap(); 3 và const m = new Hashmap(); 4), nhưng chúng tôi không muốn sử dụng ký hiệu đó cho bài tập nàyBài học này ban đầu được xuất bản tại https. //algodaily. com, nơi tôi duy trì một khóa học phỏng vấn kỹ thuật và viết các ý tưởng cho các nhà phát triển đầy tham vọng Có HashMap trong JavaScript không?Mặc dù JavaScript không có lớp Hashtable riêng, nhưng nó có các Đối tượng và Hashmap(Bản đồ) gốc cung cấp chức năng tương tự khi nó .
Khi nào nên sử dụng HashMap trong JavaScript?Mục đích chính của HashMap là để giảm thời gian tìm kiếm/truy cập của Mảng từ O(n) xuống O(1) .
Làm cách nào để triển khai 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 Làm cách nào để khởi tạo HashMap trong JavaScript?Để khởi tạo một Bản đồ với các giá trị, hãy sử dụng hàm tạo Map(), truyền cho nó một mảng chứa các mảng lồng nhau gồm các cặp khóa-giá trị, trong đó phần tử đầu tiên trong mảng là . Mỗi cặp khóa-giá trị được thêm vào Bản đồ mới. Đã sao chép. . Each key-value pair is added to the new Map . Copied! |