美文网首页
map的用法

map的用法

作者: xiao_xie_shen | 来源:发表于2019-03-18 10:26 被阅读0次

    Map概念

    Map 对象以键值对保存数据。

    map相对object的优点
    option map object
    任意值,包括函数、对象、基本类型 字符串 或者 Symbols
    键值顺序 有序(按插入顺序排序) 无序
    length size属性 另外计算获取
    迭代 直接迭代 需要获取键值再迭代
    性能 频繁操作下性能更优 相对差

    map使用示例

    var myMap = new Map();
    var keyObj = {};
    
    myMap.set(keyObj, "我是{}");
    myMap.set(NaN, "我是NaN");
     
    myMap.size;   // 2
    
    myMap.get(keyObj);       // 输出 "我是{}"
    
    myMap.get({});           // 输出 undefined, 因为keyObj !== {}
    
    myMap.get(NaN);       // 输出 not a number ,因为NaN !== NaN;
    
    //使用 for..of可以键值同时输出,也可以单独输出
    for (var [key, value] of myMap) {
      console.log(key + " = " + value);
    }
    
    for (var key of myMap.keys()) {
      console.log(key);
    }
    
    for (var value of myMap.values()) {
      console.log(value);
    }
    
    //使用 forEach() 
    myMap.forEach(function(value, key) {
      console.log(key + " = " + value);
    }, myMap)
    
    //map可以跟数组互相转化,使用Array.from函数
    console.log(Array.from(myMap));
    
    //map合并,数据以后传入数据为准
    
    var otherMap = new Map([
      [keyObj, '我是other']
    ]);
    
    var merged = new Map([...myMap, ...otherMap]);
    
    console.log(merged.get(keyObj));// '我是other'
    
    //entries返回一个新的 Iterator 对象
    //它按插入顺序包含了Map对象中每个元素的 [key, value] 数组
    merged.entries(); // MapIterator{}
    
    数组的map方法

    map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

    map() 方法按照原始数组元素顺序依次处理元素。

    array.map(function(currentValue,index,arr), thisValue)
    

    参考文献

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map

    相关文章

      网友评论

          本文标题:map的用法

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