Bạn có thể sử dụng hashmap trong javascript không?

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 JavaScript ES6, 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à

const m = new Hashmap[];
m.set['name', 'Jake'];
console.log[m.get['name']];
1. 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
const m = new Hashmap[];
m.set['name', 'Jake'];
console.log[m.get['name']];
1 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ự

Mảng là tuyệt vời để tìm kiếm 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[];
m.set['name', 'Jake'];
console.log[m.get['name']];
3. 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[];
m.set['name', 'Jake'];
console.log[m.get['name']];
4

Bạn có thể triển khai lớp Map 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[];
m.set['name', 'Jake'];
console.log[m.get['name']];
2
const m = new Hashmap[];
m.set['name', 'Jake'];
console.log[m.get['name']];
3 và
const m = new Hashmap[];
m.set['name', 'Jake'];
console.log[m.get['name']];
4], nhưng chúng tôi không muốn sử dụng ký hiệu đó cho bài tập này

Bà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ách đây một thời gian, tôi cần sử dụng hàm băm JavaScript. Một hashmap rất hữu ích vì nhiều lý do, nhưng lý do chính mà tôi cần một hashmap là để có thể tìm và sửa đổi một đối tượng, được lập chỉ mục bởi một chuỗi duy nhất mà không phải lặp qua một mảng các đối tượng đó mỗi lần

Nói cách khác, tôi cần tìm kiếm trong bộ sưu tập đối tượng của mình bằng một giá trị khóa duy nhất. Bộ sưu tập Key-Value tương tự như từ điển trong Python hoặc hashmaps/hashtables trong Java

Theo những gì tôi có thể nói, ngôn ngữ JavaScript tiêu chuẩn có cách triển khai hashmap khá đơn giản, nhưng “các khóa” chỉ có thể là các giá trị chuỗi. Có một số người giỏi ngoài kia đã triển khai các hàm băm JS phức tạp hơn. Nhưng chế độ chờ của ol đủ tốt cho tôi, vì vậy tôi đang sử dụng nó ở đây

Với tư cách là nhà phát triển Titanium, IS thường sử dụng “Để. API. log” để in ra bàn điều khiển. Nhưng vì chủ đề này áp dụng cho JavaScript nói chung, nên tôi sẽ sử dụng “bảng điều khiển. log” cho các báo cáo in. Đối với những nhà phát triển Titanium ngoài kia, cả hai lệnh gọi chức năng đều phù hợp với bạn. 🙂

Vì vậy, đây là 5 cách bạn có thể sử dụng hashmap JavaScript

5 – Tạo hashmap và thêm khóa
// Tạo hashmap
var animal = {};
. 'meo', tuổi. 8 };
animal[‘cat’] = { sound: ‘meow’, age:8 };
animal[‘dog’] = { sound. 'vỏ cây', tuổi tác. 10 };
animal[‘bird’] = { âm thanh. 'tweet', tuổi. 2 };
animal[‘cow’] = { sound. 'moo', tuổi. 5 };

4 – In tất cả các đối tượng trong hashmap
for [var x in animal]
{
    bảng điều khiển. nhật ký ['Khóa. \n—- ‘ + x + ‘\n’];
    bảng điều khiển. nhật ký ['Giá trị. '];
    var value = animal[x];
    for [var y in value]
    {
        console.log[‘—- ‘ + y + ‘:’ + value[y]];
    }
    bảng điều khiển. log[‘\n’];
}

Đây là mẫu đầu ra.
> Phím.
> —- con mèo
> Giá trị.
> —- âm thanh. meo meo
> —- tuổi. 8
>
> Phím.
> —- con chó
> Giá trị.
> —- âm thanh. sủa
> —- tuổi. 10
>
> Khóa.
> —- con chim
> Giá trị.
> —- âm thanh. tweet
> —- tuổi. 2
>
> Phím.
> —- con bò
> Giá trị.
> âm thanh. moo
> —- tuổi. 5

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 thực hiện việc này.
for [i = 0; i < numObjects; i++]
{
    if [animal[i]. type == ‘cat’]
    {
        động vật[i]. sound = ‘hiss’;
    }
}

Nhưng với một hashmap, bạn chỉ có thể làm điều này.
// kiểm tra sự tồn tại của khóa 'mèo'
if ['mèo' trong động vật]
{
     // modify cat key here
    animal[cat].sound = ‘hiss’;
}
// Ngọt nhỉ?

2 – Xóa khóa
// kiểm tra xem khóa đã tồn tại chưa
if ['mèo' trong động vật]
{
     // then, delete it
    delete animal[‘cat’];
}

1 – Đếm số khóa
Với hàm băm JS, bạn không thể chỉ làm điều này — động vật. chiều dài - để lấy số lượng khóa hoặc đối tượng trong hashmap của bạn. Thay vào đó, bạn sẽ cần thêm một vài dòng mã.

var count = 0;
for [x ở động vật]
{ count++; . log['Số con vật là. ‘ + đếm + ‘\n’];
console.log[‘The number of animals are: ‘ + count + ‘\n’];

Đây là mẫu đầu ra.
> Số lượng động vật là. 4

Bạn đã có nó, 5 cách để sử dụng hashmap JavaScript. Nếu bạn có các ví dụ về các cách sử dụng khác hoặc nếu bạn đã tự mình triển khai một hàm băm JS mà bạn muốn chia sẻ, vui lòng gửi liên kết tới mã của bạn trong các nhận xét bên dưới

HashMap hoạt động như thế nào trong JavaScript?

Bên trong, HashMap sử dụng một Mảng và nó ánh xạ các nhãn tới các chỉ mục mảng bằng hàm băm . Có ít nhất hai cách để triển khai hashmap. Mảng. Sử dụng hàm băm để ánh xạ khóa tới giá trị chỉ mục mảng. Tồi tệ nhất. Trung bình. Ô[1]

Sự khác biệt giữa HashMap và bản đồ trong JavaScript là gì?

Hãy xem xét kỹ hơn về chúng. HashMap là một lớp không được đồng bộ hóa của Khung bộ sưu tập Java chứa các khóa và giá trị null, trong khi Map là một giao diện Java, được sử dụng để ánh xạ các giá trị cặp khóa.

Bản đồ JavaScript có phải là Bảng băm không?

Tổng quan về bảng băm. Bảng băm là cấu trúc dữ liệu ghép nối khóa với giá trị. Bảng băm còn được gọi là bản đồ không có thứ tự, từ điển hoặc bản đồ băm . Nó thực hiện các mảng kết hợp cho các cặp khóa-giá trị.

Có bản đồ trong JavaScript không?

JavaScript 2015 [ES6] đã giới thiệu một tính năng gọi là Bản đồ. Đừng nhầm lẫn với. map[] phương thức mảng, đối tượng Map tích hợp sẵn là một cách khác để cấu trúc dữ liệu của bạn. Bản đồ là tập hợp các cặp khóa-giá trị riêng biệt và được sắp xếp theo thứ tự

Chủ Đề