zoukankan      html  css  js  c++  java
  • 处理集合_创建第1个map

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>创建第一个Map</title>
        <script src="../unitl/test.js"></script>
        <style>
            #results li.pass {color:green;}
            #results li.fail {color:red;}
        </style>
    
    
    </head>
    
    <body>
    
    
        <div id="firstElement"></div>
        <div id="secondElement"></div>
        <ul id="results"></ul>
    
    
    </body>
    
    <script>
    
        //使用Map构造函数创建map
        const ninjaIslandMap = new Map();
    
    
        //定义3个ninja对象
        const ninja1 = {name:"Yoshi"};
        const ninja2 = {name:"Hattori"};
        const ninja3 = {name:"Kuma"};
    
    
        //使用Map的set方法,建立两个ninja对象的映射关系。
        ninjaIslandMap.set(ninja1,{homeIsland:"Honshu"});
        ninjaIslandMap.set(ninja2,{homeIsland:"Hokkaido"});
    
    
        //使用Map的get方法,获取ninja对象。
        assert(ninjaIslandMap.get(ninja1).homeIsland==="Honshu","The first mapping work");
        assert(ninjaIslandMap.get(ninja2).homeIsland === "Hokkaido","The second mapping works");
    
    
        //验证map中只存在前两个对象的映射,不存在第3个映射关系。
        assert(ninjaIslandMap.get(ninjaIslandMap.get(ninja3))===undefined,
        "There is no mapping for the third ninja!");
    
    
        //验证map中只存在前两个对象的映射,不存在第3个对象的映射。
        assert(ninjaIslandMap.size === 2,"We've created two mapping");
    
    
        //使用has方法验证map中是否存在指定的key.
        assert(ninjaIslandMap.has(ninja2),"We have mappings for the first twp ninjas");
        assert(!ninjaIslandMap.has(ninja3),"But not for the third ninja!");
    
        //使用delete方法从map删除key。
        ninjaIslandMap.delete(ninja1);
        assert(!ninjaIslandMap.has(ninja1) && ninjaIslandMap.size === 1,"There's no first ninja mapping anymore!");
    
        console.log(ninjaIslandMap);
        //使用clear方法完全清空map
        ninjaIslandMap.clear()
        assert(ninjaIslandMap.size ===0,"All mapping have been cleared");
    
    
    </script>
    </html>
    

    本例子中引入的js: test.js

    在本例中,我们调用Map构造函数创建Map:

        const ninjaIslandMap = new Map();
    

    然后,创建3个ninja对象,分别命名为ninja1,ninja2,ninja3。使用set方法。

        ninjaIslandMap.set(ninja1,{homeIsland:"Honshu"});
    

    接下来,通过get方法获取前两个ninja对象的映射。

        assert(ninjaIslandMap.get(ninja1).homeIsland === "Honshu","The first mapping works");
    

    只有前两个ninja对象存在映射,第3个对象不存在映射,因为第三个对象没有被set调用。除了get和set方法之外,map还具有size属性以及has,delete方法。size属性告诉我们创建了多少个映射。在本例,我们创建了两个映射。
    has方法用于判断指定的key是否存在:

    ninjaIslandMap.has(ninja1) //true
    ninjaIslandMap.has(ninja3); //false
    

    delete 方法可用于删除映射:

      ninjaIslandMap.delete(ninja1);
    
  • 相关阅读:
    Pacbio三代基因组组装简介
    微生物组与代谢组关联分析
    软件架构学习小结
    Android中TextView中加图片,超链接,部分字或者背景变色。。。不断补充中
    Android 使用 ViewPager 实现左右滑动 Fragment
    Android 使用 ViewPager 实现左右滑动 View
    Android 使用 ViewPager 实现左右循环滑动图片
    Fragment 与 Activity 通信
    Android App 组件之 ListFragment
    Android 官方推荐: DialogFragment 创建对话框
  • 原文地址:https://www.cnblogs.com/jamal/p/14081574.html
Copyright © 2011-2022 走看看