ES6学习笔记七:map和set

175 阅读1分钟

1.set 无重复值的有序列表

        let set = new Set();
        set.add(2); //添加 可以是任意类型 返回添加元素后的set
        set.delete(2); //删除 返回true/false
        set.has(2);//有无
        set.size; //属性 集合的长度
        for (val of set) { //set遍历
              console.log(val); //获得每个元素值
        }

//数组去重

        let set2 = new Set([1, 2, 3, 4, 5, 6, 6, 6, 6, 6]); //array转换成set
        let arr = [...set2]; //set 转换成array
        console.log(arr);

//set中的对象引用不可释放 将对象设置为null无效

		let set = new Set(),
            obj = {
                a: 1
            };
        set.add(obj);
        console.log(set);
        obj = null; //set中的对象引用不可释放 将对象设置为null无效
        console.log(set); //此处的obj还是a:1
		let result = set.delete(obj); //obj=null之后,此obj与添加到set中的obj不是一个对象了
        console.log(result); //false 
        console.log(set); 
		//三次打印内容相同

2.map 键值对

		let map = new Map();
        map.set('name', 'hattie');
        map.set('age', 18);
        map.get('name');
        map.has('name');
        map.delete('name');
        map.clear();