Map和Set

作者: An的杂货铺 | 来源:发表于2019-07-23 09:58 被阅读0次

最新的ES6规范引入了新的数据类型Map和Set,需在支持es6的浏览器使用,Map是一组键值对的结构,具有极快的查找速度

Map 的声明方式

// 初始化Map需要一个二维数组,或者直接初始化一个空Map

var  m = new Map();

var n = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);

console.log(m);//{}

console.log(n);//{"Michael" => 95, "Bob" => 75, "Tracy" => 85}

Map的使用方法

var maps = new Map();

maps.set('lili','98');//添加新的key-value

console.log(map);// {"lili" => "98"}

var score = map.get('lili');//获取键值

console.log(score);//98

console.log(map.has('lili'));//true 查看是否含有某个键 返回布尔值

map.delete('lili');//删除某个键

console.log(map.get('lili'));//undefined

// 由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉

Set和Map类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key

Set的声明方式

    //要创建一个Set,需要提供一个Array作为输入,或者直接创建一个空Set

    var set = new Set();

    var aset = ([1,2,3]);

    console.log(set);//{}

    console.log(aset);//[1,2,3]

重复元素在Set中自动被过滤:

    var arrone = [1,3,3,5,6,'6'];

    console.log(new Set(arrone));//[1,3,5,6,'6']

    //根据Set的这个特性可以用来给数组去重

通过add(key)方法可以添加元素到Set中,可以重复添加,但不会有效果

    set.add(23);

    set.add(32);

    set.add(23);

    console.log(set);//[23,32]

通过delete(key)方法可以删除元素

    set.delete(32)

    console.log(set);//[23]

相关文章

  • ES6

    Symbol Set和Map Set Map Proxy get() set() apply() Reflect ...

  • Java Map,List,Set,String[]之间的转换

    Map和List map.values转list: Map和set map转set(主要用于迭代遍历) set转m...

  • Map 、Set&Object、Array

    1. Map和Set是什么? 2. Map和Set与Object和Array有什么区别,为何引入Map和Set? ...

  • 面试题解答

    Set 和Map 的方法 Set sizeaddforeachhasdeleteclear Map gethass...

  • java开发工程常用的数据结构(集合)

    List Map Set list,set,map对比 总结: Vector和ArrayList vector是线...

  • ES6新增Map和Set数据类型

    Map和Set Map 和 Set 是 ES6 标准新增的数据类型 Map JavaScript的对象(Objec...

  • Map和Set

    Map:一组键值对的结构,具有极快查找速度有has(判断是否有该键值对)get(得到对应键值)set(设置键值对)...

  • Set和Map

    Set和Map Set实例属性Set.prototype.constructor 构造函数,默认SetSet.pr...

  • Set和Map

  • Map和Set

    Map Map是一组键值对的结构,具有极快的查找速度。 初始化Map方法: 一个key只能对应一个value,所以...

网友评论

      本文标题:Map和Set

      本文链接:https://www.haomeiwen.com/subject/ldkglctx.html