ES6中的Set和Map对象数据结构

set对象数据结构

构建某一类型的对象 -对象的实例化

        let arr = [1, 2, 3, 3, 4, 5]
        let rec = new Set(arr)//可以传参数,数组或者对象
        console.log(rec);
        console.log(rec.size);//去重后的个数,属性size,可以输出数值的个数

        // rec.clear()  清空
        // console.log(rec);清空所有的数字,//空对象set:{}


        // rec.delete(4)  删除指定的元素,不能使用下标
        // console.log(rec); // 删除后的值 [1,2,3,5]
        // console.log(rec.delete(4));//返回布尔值,代表删除成功或失败

        // rec.add(6) //添加

        // console.log(rec.has(6));  //返回布尔值,是否包含某一项
		

map对象数据结构

  // let arr = [1, 2, 3, 4, 5, 6]
        // let s = new Map(arr) //迭代器报错没有第二个值

        let arr = [
            ["a", 1],
            ["b", 2],
            ["c", 3]
        ]
        let s = new Map(arr)
        console.log(s);// 打印结果 0: {"a" => 1}  1: {"b" => 2}  2: {"c" => 3}
        //不能传递对象参数,因为对象不可以迭代。传递的参数必须遵循上述的形式,最终的值类似于key:value的形式

        // 方法 s.clear() ,全部清除。也可以传入key来删除

        // 方法s.delete(),也就是说参数是键名,然后删除整个键值对,
        // 参数key  删除对应的数据value值,返回值是布尔类型代表是否删除成功

        //set()方法
        // m.set("d", 4)//添加一组key:value ,返回值是添加后Map对象


        //has()方法,console.log(s.has("key"));
        //返回布尔值,作用是判断是否存在

        //相比较来说多一个get()方法
        // let m = new Map(arr)
        // console.log(m.get("b"));//作用是获取值,打印value:2,输入key,返回value
上一篇:p/n棋盘问题


下一篇:CEGUI添加自定义控件