Khi nào chúng ta nên sử dụng bản đồ trong JavaScript?
Bản tóm tắt. trong hướng dẫn này, bạn sẽ tìm hiểu về đối tượng Bản đồ JavaScript ánh xạ một khóa tới một giá trị Show
Giới thiệu về đối tượng Bản đồ JavaScriptTrước ES6, chúng tôi thường sử dụng một đối tượng để giả lập bản đồ bằng cách ánh xạ một khóa tới một giá trị thuộc bất kỳ loại nào. Nhưng sử dụng một đối tượng làm bản đồ có một số tác dụng phụ
ES6 cung cấp một loại bộ sưu tập mới có tên là 5 để giải quyết những thiếu sót này Theo định nghĩa, một đối tượng 5 chứa các cặp khóa-giá trị. Các khóa là duy nhất trong bộ sưu tập của Bản đồ. Nói cách khác, một khóa trong đối tượng Bản đồ chỉ xuất hiện một lần Các khóa và giá trị của Bản đồ có thể là bất kỳ giá trị nào Khi lặp một đối tượng 5, mỗi lần lặp trả về một mảng 2 phần tử của 8. Thứ tự lặp lại tuân theo thứ tự chèn tương ứng với thứ tự mà mỗi cặp khóa-giá trị được chèn lần đầu tiên vào Bản đồ bằng phương pháp 9 Để tạo một 5 mới, bạn sử dụng cú pháp sau
1 chấp nhận một đối tượng có thể lặp lại tùy chọn có các phần tử là các cặp khóa-giá trị Các phương thức Bản đồ JavaScript hữu ích
Các ví dụ về Bản đồ JavaScriptHãy lấy một số ví dụ về việc sử dụng đối tượng Bản đồ Tạo một đối tượng Bản đồ mớiGiả sử bạn có một danh sách 1 đối tượng như sau
Giả sử rằng bạn phải tạo bản đồ người dùng và vai trò. Trong trường hợp này, bạn sử dụng đoạn mã sau
2 là một thể hiện của đối tượng 5 và kiểu của nó là một đối tượng như minh họa trong ví dụ sau
Thêm phần tử vào Bản đồĐể gán vai trò cho người dùng, bạn sử dụng phương thức 9
Phương thức 9 ánh xạ người dùng 6 với vai trò 7. Vì phương thức 9 có thể xâu chuỗi, nên bạn có thể lưu một số thao tác nhập như trong ví dụ này
Khởi tạo bản đồ với một đối tượng có thể lặp lạiNhư đã đề cập trước đó, bạn có thể truyền một đối tượng có thể lặp lại cho hàm tạo 1
Nhận một phần tử từ bản đồ bằng phímNếu bạn muốn xem vai trò của 0 , bạn sử dụng phương thức 1
Nếu bạn chuyển một khóa không tồn tại, phương thức 1 sẽ trả về 3
Kiểm tra sự tồn tại của một phần tử bằng khóaĐể kiểm tra xem một khóa có tồn tại trong bản đồ hay không, bạn sử dụng phương pháp 4
Lấy số phần tử trong bản đồThuộc tính 5 trả về số lượng mục nhập của đối tượng Bản đồ 0 Lặp lại các phím bản đồĐể lấy khóa của một đối tượng 5, bạn sử dụng phương thức 8. 8 trả về một đối tượng lặp mới chứa các khóa của các phần tử trong bản đồ Ví dụ sau hiển thị tên người dùng của người dùng trong đối tượng bản đồ 2 1 đầu ra 2 Lặp lại các giá trị bản đồTương tự, bạn có thể sử dụng phương thức 0 để lấy một đối tượng iterator chứa các giá trị cho tất cả các thành phần trong bản đồ 3 đầu ra 4 Lặp lại các phần tử bản đồNgoài ra, phương thức 4 trả về một đối tượng lặp có chứa một mảng 2 của mỗi phần tử trong đối tượng 5 5 Để làm cho phép lặp tự nhiên hơn, bạn có thể sử dụng phá hủy như sau 6 Ngoài vòng lặp 4, bạn có thể sử dụng phương thức 5 của đối tượng bản đồ 7 Chuyển đổi các khóa hoặc giá trị bản đồ thành một mảngĐôi khi, bạn muốn làm việc với một mảng thay vì một đối tượng có thể lặp lại, trong trường hợp này, bạn có thể sử dụng toán tử trải rộng Ví dụ sau chuyển đổi các khóa cho từng phần tử thành một mảng các khóa 8 đầu ra 9 Và sau đây chuyển đổi các giá trị của các phần tử thành một mảng 0 đầu ra 1 Xóa một phần tử bằng phímĐể xóa một mục trong bản đồ, bạn sử dụng phương pháp 6 2 Xóa tất cả các yếu tố trong bản đồĐể xóa tất cả các mục trong đối tượng 5, bạn sử dụng phương thức 2 3 Do đó, kích thước của bản đồ bây giờ bằng không 4 Bản đồ yếuMột 9 tương tự như một 5 ngoại trừ các phím của một 9 phải là đối tượng. Điều đó có nghĩa là khi tham chiếu đến một khóa (một đối tượng) nằm ngoài phạm vi, giá trị tương ứng sẽ tự động được giải phóng khỏi bộ nhớ Một 9 chỉ có các phương thức tập hợp con của một đối tượng 5
Đây là sự khác biệt chính giữa 5 và 9
Trong hướng dẫn này, bạn đã học cách làm việc với đối tượng Bản đồ JavaScript và các phương thức hữu ích của nó để thao tác các mục trong bản đồ Khi nào bạn nên sử dụng bản đồ?Tóm lại, bạn phải luôn sử dụng Bản đồ khi cần tập hợp khóa-giá trị . Một dấu hiệu tốt cho thấy bạn cần một bộ sưu tập là khi bạn tự động thêm và xóa các giá trị khỏi bộ sưu tập và đặc biệt là khi bạn không biết trước các giá trị đó (e. g. chúng được đọc từ cơ sở dữ liệu, do người dùng nhập, v.v.).
Lợi thế của Bản đồ trong JavaScript là gì?Bản đồ có hiệu suất cao hơn và yêu cầu viết ít mã hơn , mang lại lợi thế cho chúng so với Đối tượng. Sau đây là một số trường hợp bạn có thể sử dụng Bản đồ. Nếu bạn muốn sử dụng các kiểu dữ liệu phức tạp làm khóa. Nếu việc giữ nguyên thứ tự chèn các phím của bạn là bắt buộc.
Tại sao sử dụng Bản đồ thay vì mảng?Bản đồ có thể lặp lại
. Có thể lặp lại có một số lợi ích, thực thi đúng lúc và đơn hàng được đảm bảo là hai ví dụ. a Map offers a better use-case for key-value mappings than an Object would. Being iterable has a number of benefits, just-in-time execution and guaranteed order being two examples. |