美文网首页
JavaScript中的Map和Set

JavaScript中的Map和Set

作者: iMikasa_ | 来源:发表于2021-12-30 21:00 被阅读0次

    Map集合

    Map是一种键值对的数据存储结构,比传统的数组更具优秀的查询结构与速度

    Map声明方式

    let myMap = new Map();          //我们可以声明一个空的Map集合,然后之后在向里面填充数据
    //我们也可以在初始化数据的时候就让这个Map()集合自带数据,就是在里面写个二维数组
    let myMap = new Map([['tim',12],['mikasa',21],['alice',40]]);
    

    向Map集合中添加数据

    myMap.set('tom',45);
    

    获取Map集合中的数据

    myMap.get('tom');
    

    判断Map集合中是否有所指定的键(key)

    myMap.has('tom');          //true
    

    删除Map集合中的指定的键

    myMap.delete('tom');        //true
    

    Set集合

    Set集合中的值不重复
    Set集合声明

    let s1 = new Set(); // 空Set
    let s2 = new Set([1, 2, 3]); // 含1, 2, 3
    

    通过add()向Set集合中添加数据

    s2.add(4)
    

    other i want to write

    集合的遍历

    我们可以利用for....of....直接遍历Map集合和Set集合,如

    for(let x of mySet){console.log(x)}
    for(let x of myMap){console.log(x)}
    

    或者,Map和Set集合都有keys(),values(),entries()方法,我们可以遍历这些数据

    我们还可以利用forEach()方法进行遍历,如下

    Set与Array类似,但Set没有索引,因此回调函数的前两个参数都是元素本身:

    let s = new Set(['A', 'B', 'C']);
    s.forEach(function (element, sameElement, set) {
        console.log(element);
    });
    

    Map的回调函数参数依次为value、key和map本身:

    let m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
    m.forEach(function (value, key, map) {
        console.log(value);
    });
    

    如果对某些参数不感兴趣,由于JavaScript的函数调用不要求参数必须一致,因此可以忽略它们。例如,只需要获得Array的element:

    var a = ['A', 'B', 'C'];
    a.forEach(function (element) {
        console.log(element);
    });
    

    。。。。etc

    相关文章

      网友评论

          本文标题:JavaScript中的Map和Set

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