Javascript Map
và Set
đối tượng đều iterable objects. Cả hai đối tượng lưu trữ theo cặp [key, value]
. Tôi muốn biết khi nào nên sử dụng cái gì? Có một ưu tiên nào khác không?javascript Bản đồ đối tượng vs Set đối tượng
Trả lời
Miễn là bạn đang nói về các loại ES6, chúng không phải là cấu trúc dữ liệu giống nhau mặc dù Set
có thể được triển khai với Map
.
định nghĩa của bạn về Map
là đúng, nhưng một Set
là một tập hợp các giá trị duy nhất, không giống như một mảng có thể có bản sao.
var array = [1, 2, 3, 3];
var set = new Set(array); // Will have [1, 2, 3]
assert(set.size, 3);
var map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
map.set('C', 3);
map.set('a', 4); // Has: a, 4; b, 2; c: 3, C: 3
assert(map.size, 4);
Tôi nghĩ rằng đó là giá trị thời gian để chỉ ra một cách rõ ràng rằng một Set không phải là một cửa hàng giá trị khóa. Nó cũng khác với một mảng ở chỗ nó không có thứ tự. –
Tôi cũng muốn thêm: https://medium.com/ecmascript-2015/es6-set-map-weak-a2aeb7e2d384 – Thomas
Nhà phát triển thường chỉ sử dụng các đối tượng JavaScript thông thường khi họ muốn bản đồ.
var obj = {};
obj.name= "Anand Deep Singh";
console.log(obj.name); //logs "Anand Deep Singh"
tương tự trong ES6, chúng tôi có thể sử dụng đối tượng thông thường.
var map = new Map();
map.set("name","Anand Deep Singh");
console.log(map.get("name")); //logs "Anand Deep Singh"
Nhưng đáng chú ý điều là một bản đồ không được tạo ra với đen cú pháp đối tượng, và rằng ai sử dụng thiết và được phương pháp để cửa hàng và truy cập dữ liệu.
Nó có một có phương pháp để kiểm tra xem phím tồn tại trong đối tượng hay không, xóa phương pháp để xóa các đối tượng và rõ ràng phương pháp để xóa toàn bộ đối tượng.
Đặt là danh sách giá trị duy nhất. Nó chỉ đơn giản là một danh sách duy nhất.
var set = new Set(["a", "a","e", "b", "c", "b", "b", "b", "d"]);
console.log(set); //logs Set {"a", "e", "b", "c", "d"}
Không thể truy cập tập hợp như mảng và cung cấp cùng phương thức như Bản đồ.
- 1. Backbone.Wreqr vs đối tượng Javascript
- 2. Đối tượng JavaScript DOM đối tượng jQuery
- 3. đối tượng lập bản đồ MongoDB (PHP)
- 4. (obj || {}) vs Đối tượng (obj)
- 5. Đối tượng bản sao trong JavaScript
- 6. Đối tượng mảng JavaScript vs mảng giống như đối tượng - Làm rõ
- 7. Ánh xạ đối tượng JSON cho đối tượng Javascript
- 8. Trình duyệt đối tượng JavaScript?
- 9. javascript đối tượng này
- 10. Id đối tượng JavaScript
- 11. mảng javascript đối tượng
- 12. Đối tượng expando Javascript
- 13. Bộ sưu tập bản đồ của các đối tượng
- 14. Tách đối tượng trong EF4 - mất đồ thị đối tượng
- 15. Đối tượng Javascript mới (chức năng) vs gọi nội dòng
- 16. delphi đối tượng gán vs: =
- 17. javascript đếm số đối tượng trong đối tượng
- 18. Xóa một đối tượng đơn lẻ khỏi đối tượng Javascript
- 19. Javascript, xem [đối tượng HTMLInputElement]
- 20. Bản đồ trên các phím bảo vệ đối tượng
- 21. hàm javascript trả về đối tượng trả về [đối tượng đối tượng]
- 22. ANDing javascript đối tượng cùng
- 23. Đối tượng toàn cầu Javascript
- 24. Dapper Đối tượng chính xác/Bản đồ tổng hợp
- 25. Kotlin đối tượng vs bạn đồng hành đối tượng vs gói scoped phương pháp
- 26. Tạo đối tượng trong javascript
- 27. Thừa kế đối tượng Javascript
- 28. truy vấn javascript đối tượng
- 29. Automapper: Bản đồ đối tượng duy nhất với danh sách các đối tượng bên trong để chỉ danh sách
- 30. Java nhân bản đối tượng trừu tượng
Trong JavaScript, vấn đề vốn. Vui lòng sử dụng nó một cách chính xác. * (Tôi đã chỉnh sửa cho bạn trong dịp này.) * –