处理集合_创建Set

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>创建Set</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>

    //Set 不能存在相同的元素,Set成员的值都是唯一的。
    const ninjas = new Set(["Kuma","Hattori","Yagyu","Hattori"]);


    //丢弃重复项
    assert(ninjas.has("Hattori"),"Hattori is our set");
    assert(ninjas.size ===3,"There are only three ninjas in our set !");


    //可以向集合中添加不存在的元素
    assert(!ninjas.has("Yoshi"),"Yoshi is not in yet..");
    ninjas.add("Yoshi");
    assert(ninjas.has("Yoshi","Yoshi is added"));
    assert(ninjas.size ===4, "There are four ninjas in our set");


    //向集合中添加存在的元素将补齐任何作用。
    assert(ninjas.has("Kuma"),"Kuma is already added");
    ninjas.add("Kuma");
    assert(ninjas.size === 4,"Adding Kuma again has no effect");

    //通过for...of 循环对集合进行遍历。
    for(let ninja of ninjas) {

        assert(ninja !== null,ninja);

    }
</script>
</html>

//使用内置构造函数创建Set,如果不传入任何参数,将创建一个空Set。可以传入字符串:

      new Set(["Kuma","Hattori","Yagyu","Hattori"]);

Set成员的值都是唯一的,最重要的作用是避免存储多个相同的对象。在本例子中,视图添加两次"Hattori",但是只成功添加一次。
Set具有多个可访问的方法。例如:has方法验证Set中是否存在元素:

      ninjas.has("Hattori")

add 方法用于添加唯一成员:

     ninjas.add("Yoshi")

如果你想知道Set中具有几个元素,可以使用size属性。与Map和数组类似,Set也是集合,因此可以使用for-of循环进行遍历。

原文地址:https://www.cnblogs.com/jamal/p/14085686.html