Set、Map

<script>
    // es6 Set对象、Map对象


    // es6提供了新的数据结构set。类似于数组,但成员的值都是唯一的,没有重复的值。
    // Set本身是一个构造函数,用来生成Set数据结构。

    // forEach()本身是不支持continue和break语句的。
    // 使用return语句实现continue关键字的效果。
    // 使用return; 实现continue效果;使用return false实现break效果

    const s = new Set();
    [1, 2, 3, 4, 5, 1, 2].forEach(element => s.add(element));
    // 通过add()向s集合添加元素,
    for (let i of s) {
        console.log(i);
    }

    //去除数组重复成员方法一
    //   [...new Set(array)]
    //  去除字符串里面重复字符
    //  [...new Set('abcahbn')].join("")

    // 判断一个键是否在set集合上面
    // properties.has(someName)

    // Array.from()方法可以将Set结构转为数组。
    // 去除数组重复成员方法二
    //  Array.from(new Set(array))

    // Set结构的实例与数组一样,也拥有forEach()方法,用于对每个成员执行某种操作,没有返回值。
    let set = new Set([1, 4, 9])
    set.forEach((value, key) => console.log(key + ':' + value))


    //  js的对象,本质上是键值对的集合,但在传统上只能用字符串当作键。使用上有一定的限制。
    //  Map结构提供了“值-值”的对应。是一种更完善的hash结构的实现。
    // instance.set(key,value)  添加键值
    //  instance.get(key)    获取对应键的值
    //  instance.has(key)    判断是否有该key
    //  instance.delete(key)  删除key

    // Map作为构造函数,Map可接受一个数组作为参数,该数组的成员是一个个表示键值对的数组。
    const map = new Map([["name", "张三"], ["title", "Author"]])
</script>

 

posted @ 2021-11-30 15:38  亦茫茫  阅读(19)  评论(0编辑  收藏  举报