概念

在字典中,存储的是[键,值]对,其中键名是用来查询特定元素的。字典和集合很相似,集合以[值,值]的形式存储元素,字典则是以[键,值]的形式来存储元素。字典也称作映射。

实现字典

  1. function Dictionary() {
  2. let items = {};
  3. this.set = function(key, value) {
  4. items[key] = value;
  5. };
  6. this.has = function(key) {
  7. return items.hasOwnProperty(key);
  8. };
  9. this.delete = function(key) {
  10. if (this.has(key)) {
  11. delete items[key];
  12. return true;
  13. }
  14. return false;
  15. };
  16. this.get = function(key) {
  17. if (this.has(key)) {
  18. return items[key];
  19. }
  20. return undefined;
  21. };
  22. this.values = function() {
  23. let values = [];
  24. for (let i = 0, keys = Object.keys(items); i < keys.length; i++) {
  25. values.push(items[keys[i]]);
  26. }
  27. return values;
  28. };
  29. this.clear = function() {
  30. items = {};
  31. };
  32. this.size = function() {
  33. return Object.keys(items).length;
  34. };
  35. this.keys = function() {
  36. return Object.keys(items);
  37. };
  38. this.getItems = function() {
  39. return items;
  40. };
  41. }