美文网首页
JS中的Map和Set

JS中的Map和Set

作者: 阴魏什么wjl | 来源:发表于2018-07-20 09:09 被阅读0次

    使用iterable内置的forEach方法

    var a = ['A','B','C'];a.forEach(function(element, index, array) {// element: 指向当前元素的值// index: 指向当前索引// array: 指向Array对象本身

        alert(element);

    });

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

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

        alert(element);

    });

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

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

        alert(value);

    });

    JS中参数不要求一致,可以需要几个写几个(当然多写就是undefined,而且参数名字可以随便瞎写【滑稽】)

    a.forEach(function (element, index, array,adsf) {

    // element: 指向当前元素的值

    // index: 指向当前索引

    // array: 指向Array对象本身

    console.log(element, index, array,adsf);

    });

    VM2066:5 a 0 ["a", "b", "c"] undefined

    VM2066:5 b 1 ["a", "b", "c"] undefined

    VM2066:5 c 2 ["a", "b", "c"] undefined

    for of循环:与java中的foreach类似:

    for (var x of a) {    alert(x);// 'A', 'B', 'C'

    }

    JS的默认对象表示方式为{}键值对方式,但是键都是字符串,所以引用了Map

    var m = new Map([['micheal',99],['bob',90],['baobao',100]]);

    m.get('micheal');

    也可以这样:

    var m = new Map(); // 空Map m.set('Adam', 67); // 添加新的key-value m.set('Bob', 59); m.has('Adam'); // 是否存在key 'Adam': true m.get('Adam'); // 67 m.delete('Adam'); // 删除key 'Adam' m.get('Adam'); // undefined

    Set 与java中的list相似吧但是值不重复,类型也多变;

    add方法添加元素,

    var s = newSet([1,2,3,3,'3']);

    s.add(4);s.delete(2);

    转自:https://www.cnblogs.com/ooOO00/p/6434006.html

    相关文章

      网友评论

          本文标题:JS中的Map和Set

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