10_Map.html 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. // Map 是一种新的数据结构 它类似于对象 但是它的键名可以是任意类型的值 而对象的键名只能是字符串类型
  11. //定义map new Map()
  12. let map1 = new Map();
  13. // 可以使用set方法向map中添加键值对 map.set(键,值)
  14. map1.set("username","张三");
  15. map1.set("age",18);
  16. // map中key值是唯一的 不能重复 如果重复 后面的值会覆盖前面的值
  17. map1.set("username","李四");
  18. // 可以使用get方法获取map中的值 map.get(键)
  19. console.log(map1.get("username"));
  20. // 可以使用has方法判断map中是否有某个键 map.has(键)
  21. console.log(map1.has("username"));
  22. // delete 方法可以删除map中的某个键值对 map.delete(键)
  23. // map1.delete("username");
  24. // 可以使用size属性获取map中键值对的数量
  25. console.log(map1.size);
  26. // clear 方法可以清空map中的所有键值对
  27. // map1.clear();
  28. // for...of 循环可以遍历map中的所有键值对 每次循环会返回一个数组 数组的第一个元素是键 第二个元素是值
  29. for(let item of map1){
  30. console.log(item);
  31. }
  32. console.log(map1);
  33. // weakMap 是一种新的数据结构 它类似于Map数据结构 但是它的键名只能是对象 不能是其他类型的值
  34. let weak1 = new WeakMap();
  35. weak1.set({username:"张三"},18);
  36. console.log(weak1);
  37. </script>
  38. </body>
  39. </html>