zoukankan      html  css  js  c++  java
  • JavaScript之Map对象

    前言

      工欲善其事,必先利其器。这是一款以前在前端项目中没有使用过的、有趣的对象,咱来看看如何使用~

    并非arrayObj.map(function)  

    //arrayObj.map与arrayObj.forEach方法类似
    [].map(function(itemValue, itemIndex, array) {
        // ...
    });
    

    Map()

    介绍

      集合中的键和值可以是任何类型。如果使用现有密钥向集合添加值,则新值会替换旧值。

    var mp = new Map();
    
    clear
        从映射中移除所有元素。
    delete
        从映射中移除指定的元素。
    forEach:mapObject.forEach(function(value,key,mapObject){}[, thisArg])
        对映射中的每个元素执行指定操作。
    get
        返回映射中的指定元素。
    has
        如果映射包含指定元素,则返回 true。
    set
        添加一个新建元素到映射。
    toString
        返回映射的字符串表示形式。
    valueOf
        返回指定对象的原始值。
    

    使用

    var users = new Map();
    users.set("johnny",{name:'johnny',age:23,sex:'M'});
    users.set("jane",{name:'jane',age:21,sex:'F'});
    users.set("mary",{name:'mary',age:24,sex:'F'});
     
    //1.mapObject.forEach
    users.forEach(function(key,users){
        console.log(key);
    });
    
    //2.mapObject的values如何遍历
    var iter = users.values();
    var values = new Array();
    var item = null;
    while((item=iter.next()).done!=true){//还未遍历完
    	values.push(item.value);
    	item=null;
    }
    values.forEach(function(val,idx,array){
    	console.log("["+idx+"] "+JSON.stringify(array[idx]));
    });

     

    兼容性

      IE8+

    推荐文献

      [1] Js中的Map对象

      [2] 修改IE不兼容MAP()的问题,自定义实现JavaScript的Map对象

      [3] Map - Mozilla

  • 相关阅读:
    mycat安装
    docker注册&打包
    docker的使用场景和背景了解
    解析nohup java -jar xxx &
    透明度百分比和十六进制对应关系
    android get cpu rate
    Cordova插件开发
    VectorDrawable在Android中的配置
    APK反编译后添加日志
    apk重新签名
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/10675616.html
Copyright © 2011-2022 走看看