Bản đồ 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.
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 đồ
Phương pháp | Sự miêu tả |
---|---|
Bản đồ mới () | Tạo một đối tượng Bản đồ mới |
bộ() | Đặt giá trị cho một khóa trong Bản đồ |
đến() | Nhận giá trị cho một khóa trong Bản đồ |
thông thoáng() | Xóa tất cả các phần tử khỏi Bản đồ |
xóa bỏ() | Loại bỏ một phần tử Bản đồ được chỉ định bởi một khóa |
có() | Trả về true nếu một khóa tồn tại trong Bản đồ |
cho mỗi() | Gọi một lệnh gọi lại cho từng cặp khóa / giá trị trong Bản đồ |
mục() | Trả về một đối tượng trình vòng lặp với các cặp [khóa, giá trị] trong một Bản đồ |
các phím () | Trả về một đối tượng trình vòng lặp với các khóa trong Bản đồ |
giá trị () | Trả về một đối tượng trình lặp của các giá trị trong Bản đồ |
Bất động sản | Sự miêu tả |
---|---|
kích cỡ | Trả về số phần tử Bản đồ |
Cách tạo bản đồ
Bạn có thể tạo một 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 một Bản đồ bằng cách truyền một Mảng cho phương thức new Map()
khởi tạo:
Thí dụ
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
Map.set ()
Bạn có thể thêm các phần tử vào Bản đồ bằng set()
phương pháp:
Thí dụ
// Create a Map
const fruits = new Map();
// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
Phương set()
pháp này cũng có thể được sử dụng để thay đổi các giá trị Bản đồ hiện có:
Thí dụ
fruits.set("apples", 500);
Map.get ()
Phương get()
thức nhận giá trị của một khóa trong Bản đồ:
Thí dụ
fruits.get("apples"); // Returns 500
Map.size
Thuộc size
tính trả về số phần tử trong Bản đồ:
Thí dụ
fruits.size;
Map.delete ()
Phương delete()
pháp loại bỏ một phần tử Bản đồ:
Thí dụ
fruits.delete("apples");
Map.clear ()
Phương clear()
thức xóa tất cả các phần tử khỏi Bản đồ:
Thí dụ
fruits.clear();
Map.has ()
Phương has()
thức trả về true nếu một khóa tồn tại trong Bản đồ:
Thí dụ
fruits.has("apples");
Thử đi:
fruits.delete("apples");
fruits.has("apples");
Bản đồ là Đối tượng
typeof
trả về đối tượng:
Thí dụ
// Returns object:
typeof fruits;
instanceof
Bản đồ trả về true:
Thí dụ
// Returns true:
fruits instanceof Map;
Đối tượng JavaScript so với Bản đồ
Sự khác biệt giữa Đối tượng JavaScript và Bản đồ:
Sự vật | Bản đồ | |
---|---|---|
Có thể lặp lại | Không thể lặp lại trực tiếp | Có thể lặp lại trực tiếp |
Kích cỡ | Không có thuộc tính kích thước | Có thuộc tính kích thước |
Các loại khóa | Các phím phải là Chuỗi (hoặc Ký hiệu) | Các khóa có thể là bất kỳ kiểu dữ liệu nào |
Thứ tự chính | Chìa khóa không được đặt hàng tốt | Các phím được sắp xếp theo thứ tự chèn |
Mặc định | Có khóa mặc định | Không có khóa mặc định |
Map.forEach ()
Phương forEach()
thức gọi lại cho mỗi cặp khóa / giá trị trong Bản đồ:
Thí dụ
// List all entries
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
Map.keys ()
Phương keys()
thức trả về một đối tượng trình vòng lặp với các khóa trong Bản đồ:
Thí dụ
// List all keys
let veggies = "";
for (const x of fruits.keys()) {
veggies += x;
}
Map.values ()
Phương values
thức trả về một đối tượng trình vòng lặp với các giá trị trong một Bản đồ:
Thí dụ
// Sum all values
let total = 0;
for (const x of fruits.values()) {
total += x;
}
Map.entries ()
Phương entries()
thức trả về một đối tượng trình vòng lặp với [khóa, giá trị] trong một Bản đồ:
Thí dụ
// List all entries
let text = "";
for (const x of fruits.entries()) {
text += x;
}
Đối tượng làm chìa khóa
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 đồ.
Thí dụ
// Create Objects
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};
// Create a Map
const fruits = new Map();
// Add new Elements to the Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);
Hãy nhớ rằng: Khóa là một đối tượng (táo), không phải là một chuỗi ("táo"):
Thí dụ
fruits.get("apples"); // Returns undefined
Hỗ trợ trình duyệt
JavaScript Maps được hỗ trợ trong tất cả các trình duyệt, ngoại trừ Internet Explorer:
Chrome | Edge | Firefox | Safari | Opera |