ES6新特性——map

Map

  ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合。但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map 也实现了 iterator 接口,所以可以使用 【扩展运算符】和 【for...of...】进行遍历。Map 的属性和方法:

  1) size 返回 Map 的元素个数

  2) set 增加一个新的元素,返回当前 Map

  3) get 返回键名对象的键值

  4) has 检测 Map 中是否包含某个元素,返回 boolean 值

  5) clear 清空集合,返回 undefined

<script>
    // 声明 Map
    let m = new Map();
    
    //添加元素
    m.set('name','123');
    m.set('change',function(){
        console.log('我们可以改变你');
    });
    
    let key = {
        school : 'ATGUIGU'
    };
    
    m.set(key,['北京','上海','深圳'])
    console.log(m);                        // 输出 {"name":123,"change":function(){console.log('我们可以改变你')},{"ATGUIGU":["北京","上海","深圳"]}
    
    // size
    console.log(m.size);                // 输出 3
    
    // 获取
    console.log(m.get('change'));        //    输出 function(){console.log('我们可以改变你')}
    console.log(m.get(key));            //    输出 ['北京','上海','深圳']
    
    //遍历
    for(let v of m){
        console.log(v);                    // 输出 ["name":"123"] ["change":function(){}] [{"school":"ATGUIGU"}:['北京','上海','深圳']]
    }
    console.log(m);
    
    // 删除
    m.delete('name');                    
    console.log(m)                        //  {"change":function(){console.log('我们可以改变你')},{"ATGUIGU":["北京","上海","深圳"]}
    
    //清空
    console.log(m.clear());                //    输出 undefined
    console.log(m)                        //    输出 {}
    
</script>

 

posted @ 2021-11-26 10:10  Akstar  阅读(197)  评论(0)    收藏  举报