zoukankan      html  css  js  c++  java
  • JavaScript 中的“Map”

    最近项目中遇到要拼接一个如下结构的对象
    var testdesign = {
    SQL: "selet id, name from sales",
    Fields: {
    total: 2,
    Field1: {
    name: "id",
    jdbcType: 4
    },
    Field2: {
    name: "name",
    jdbcType: 12
    }
    }
    }
    JavaScript默认对象表示方式{}可以视为其他语言中的Map,即一组键值对。JavaScript的对象有个小问题,就是键必须是字符串
    我拼装的写法如下
        var ColAttr = {};
        var Fields = {};
        Fields["total"] = columnDefs.length;
        for(var j = 0 ;j < columnDefs.length; j++){
            var colName = columnDefs[j].field;
            ColAttr["name"] = columnDefs[j].field;
            var type = tableName + '.' + colName;
            ColAttr["jdbcType"] = tableColumnType[type];
            var Fieldnum = "Field" + Number(j+1);
            Fields[Fieldnum] = ColAttr;
        }

    var templateDesign = {
    "SQL": sql,
    "Fields": Fields
    }
     

    然后我就想知道javaScript里面有没有Map这种数据类型?
    答案是:
    在最新的ES6规范引入了新的数据类型Map,但目前支持的浏览器比较少~
    初始化如下:
    var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
    m.get('Michael'); // 95


    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
    

      

     


  • 相关阅读:
    典型并发任务
    第九章使用共享变量实现并发
    第八章goroutine和通道
    第七章接口
    第六章方法
    第一章
    第四章复合数据类型
    第三章基础数据类型
    Django其他
    VUE学习日记(五) ---- 组件定义 component
  • 原文地址:https://www.cnblogs.com/LJJ1010/p/4945648.html
Copyright © 2011-2022 走看看