Hướng dẫn can an object be a key in a javascript map? - một đối tượng có thể là một khóa trong bản đồ javascript không?
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ạ khóa thành một giá trị.: in this tutorial, you will learn about the JavaScript Map object that maps a key to a value. Show
Giới thiệu về đối tượng bản đồ JavaScriptTrước ES6, chúng ta thường sử dụng một đối tượng để mô phỏng bản đồ bằng cách ánh xạ một khóa đến giá trị của 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 gọi là 5 giải quyết các thiếu sót này. Theo định nghĩa, một đối tượng 5 giữ các cặp giá trị khóa. Các phím là duy nhất trong bộ sưu tập bản đồ. Nói cách khác, một khóa trong một đố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 lại một đối tượng 5, mỗi lần lặp lại trả về một mảng 2 thành viên là 8. Thứ tự lặp theo thứ tự chèn tương ứng với thứ tự trong đó mỗi cặp giá trị khóa lần đầu tiên được chèn vào bản đồ bằng phương thức 9. Để tạo 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 giá trị khóa. Phương pháp bản đồ JavaScript hữu ích
Ví dụ bản đồ JavaScriptHãy cùng lấy một số ví dụ về việc sử dụng một đố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 các đối tượng 1 như sau:
Giả sử rằng bạn phải tạo một bản đồ người dùng và vai trò. Trong trường hợp này, bạn sử dụng mã sau:
2 là một thể hiện của đối tượng 5 và loại của nó là một đối tượng như được minh họa trong ví dụ sau:
Thêm các 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 pháp 9 ánh xạ người dùng 6 với vai trò 7. Vì phương thức 9 có thể chuỗi, bạn có thể lưu một số gõ 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ể chuyể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 đồ theo khóaNếu bạn muốn xem vai trò của 0, bạn sẽ sử dụng phương pháp 1:
Nếu bạn vượt qua 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 đồ không, bạn sử dụng phương thức 4.
Nhận số lượng các phần tử trong bản đồThuộc tính 5 trả về số lượng mục của đối tượng bản đồ. 0 Lặp lại các phím bản đồĐể có được các khóa của đố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 có chứa các khóa của các phần tử trong bản đồ. Ví dụ sau đây hiển thị tên người dùng của người dùng trong đối tượng bản đồ 2. 1 Output: 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 phần tử trong bản đồ: 3 Output: 4 Lặp lại các yếu 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 việc lặp lại 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 phím 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ử lây lan. Ví dụ sau đây chuyển đổi các phím cho từng phần tử thành một mảng các phím: 8 Output: 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 khóaĐể xóa một mục trong bản đồ, bạn sử dụng phương thức 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ờ là bằng không. 4 YếuA 9 tương tự như 5 ngoại trừ các khóa của 9 phải là đối tượng. Điều đó có nghĩa là khi một 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ớ. A 9 chỉ có các phương thức tập hợp con của đối tượng 5:
Dưới đâ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 cách làm việc với đối tượng bản đồ JavaScript và các phương pháp hữu ích của nó để thao tác các mục trong bản đồ.
Hướng dẫn này có hữu ích không? Bản đồ JavaScript có thể có đối tượng làm khóa không?Khóa của một đối tượng phải là một chuỗi hoặc biểu tượng, bạn không thể sử dụng một đối tượng làm khóa. Một đối tượng không có thuộc tính đại diện cho kích thước của bản đồ.you cannot use an object as a key. An object does not have a property that represents the size of the map.
Sự khác biệt giữa bản đồ và các phím của một đối tượng là gì?Một bản đồ được đặt hàng và có thể lặp lại, trong khi một đối tượng không được đặt hàng và không thể lặp lại (theo nghĩa là chúng không có thuộc tính [biểu tượng. Iterator]. Tuy nhiên, bạn có thể lặp lại các phím sử dụng cho..in Cú pháp.) Chúng ta có thể đặt bất kỳ loại dữ liệu nào làm khóa bản đồ, trong khi các đối tượng chỉ có thể có một số, chuỗi hoặc ký hiệu làm khóa. (in the sense that they don't have a [Symbol. iterator] property. However, you can iterate over the keys using for..in syntax.) We can put any type of data as a Map key, whereas objects can only have a number, string, or symbol as a key.
Là đối tượng trong hashmap javascript?Các đối tượng JavaScript: Tương tự nhưng khác nhau, khóa trong Hashmap có thể là bất kỳ kiểu dữ liệu nào, điều này bao gồm các mảng và đối tượng.Trong khi đó, các đối tượng chỉ có thể sử dụng số nguyên, chuỗi và ký hiệu làm khóa của chúng.Hashmap được tổ chức dưới dạng danh sách được liên kết, vì vậy thứ tự của các yếu tố của nó được duy trì, cho phép hashmap có thể sử dụng được.The key in a hashmap can be any datatype, this includes arrays and objects. Meanwhile, objects can only use integers, strings, and symbols as their keys. Hashmaps are organized as linked lists, so the order of its elements is maintained, which allows the hashmap to be iterable.
Một mảng có thể là một javascript khóa đối tượng?Để chuyển đổi các giá trị của một mảng thành các khóa đối tượng: khai báo một biến mới và đặt nó thành một đối tượng trống. Sử dụng phương thức foreach () để lặp qua mảng. Mỗi lần lặp, hãy gán phần tử của mảng làm khóa trong đối tượng.Declare a new variable and set it to an empty object. Use the forEach() method to iterate over the array. On each iteration, assign the array's element as a key in the object. |