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
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
- Truyền một mảng tới
new Map[]
- Tạo Bản đồ và sử dụng
Map.set[]
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 new Map[]
Ví dụ
// Tạo bản đồ
const fruit = new Map[[
["apples", 500],
["bananas", 300],
["oranges", 200]
]];
Bản đồ. bộ[]
Bạn có thể thêm các phần tử vào Bản đồ bằng phương pháp set[]
Ví dụ
// Tạo bản đồ
const fruit = new Map[];
// Đặt giá trị bản đồ
trái cây. set["apples", 500];
quả. set["chuối", 300];
quả. set["cam", 200];
Phương pháp set[]
cũng có thể được sử dụng để thay đổi các giá trị Bản đồ hiện có
Bản đồ. được[]
Phương thức
const m = new Hashmap[];
m.set['name', 'Jake'];
console.log[m.get['name']];
0 lấy giá trị của một khóa trong Bản đồBản đồ. kích thước
Thuộc tính
const m = new Hashmap[];
m.set['name', 'Jake'];
console.log[m.get['name']];
1 trả về số phần tử trong Bản đồBản đồ. xóa bỏ[]
Phương thức
const m = new Hashmap[];
m.set['name', 'Jake'];
console.log[m.get['name']];
2 loại bỏ một phần tử Bản đồBản đồ. xa lạ[]
Phương thức
const m = new Hashmap[];
m.set['name', 'Jake'];
console.log[m.get['name']];
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[];
m.set['name', 'Jake'];
console.log[m.get['name']];
4 trả về true nếu một khóa tồn tại trong Bản đồBản đồ là đối tượng
Map.set[]
0 trả về đối tượng
Map.set[]
1 Bản đồ trả về true
Đố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 Map.set[]
2 gọi một cuộc gọi lại cho từng cặp khóa/giá trị trong Bản đồ
Ví dụ
// Liệt kê tất cả các mục
let text = "";
trái cây. forEach [function[value, key] {
text += key + ' = ' + value;
}]
Bản đồ. mục[]
Phương thức Map.set[]
3 trả về một đối tượng iterator với [key,values] trong Map
Ví dụ
// Liệt kê tất cả các mục nhập
let text = "";
for [const x of fruit. các mục[]] {
văn bản += x;
}
Bản đồ. phím[]
Phương thức Map.set[]
4 trả về một đối tượng lặp với các khóa trong Bản đồ
Ví dụ
// Liệt kê tất cả các khóa
let text = "";
for [const x of fruit. keys[]] {
text += x;
}
Bản đồ. giá trị[]
Phương thức Map.set[]
5 trả về một đối tượng lặp với các giá trị trong Bản đồ
Ví dụ
// Liệt kê tất cả các giá trị
let text = "";
for [const x of fruit. giá trị[]] {
text += x;
}
Bạn có thể sử dụng phương pháp Map.set[]
5 để tính tổng các giá trị trong Bản đồ
Ví dụ
// Tính tổng tất cả các giá trị
let total = 0;
for [const x of fruit. giá trị[]] {
tổng cộng += x;
}
Đối tượng như Keys
Có 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
const apple = {name. 'Táo'};
const banana = {name. 'Chuối'};
const cam = {tên. 'cam'};
// Tạo bản đồ
const fruit = new Map[];
// Thêm phần tử mới vào bản đồ
trái cây. set[táo, 500];
quả. set[chuối, 300];
quả. set[cam, 200];
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ệt
Bả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[];
m.set['name', 'Jake'];
console.log[m.get['name']];
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[];
m.set['name', 'Jake'];
console.log[m.get['name']];
3Bạn có thể triển khai lớp
const m = new Hashmap[];
m.set['name', 'Jake'];
console.log[m.get['name']];
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[];
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à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