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

    1.首先,在新版本的浏览器中,已经实现了对Map的原生支持:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

     查看一下,哪个浏览器的版本支持了Map,并且想想自己所需要的最低版本是否已被支持。

    2.若没有,自己实现一个:

    function Map() { // 定义Map对象
        this.keys = new Array();
        this.data = new Object();
    
        this.put = function (key, value) {
            if (this.data[key] == null) {
                this.keys.push(key);
            }
            this.data[key] = value;
        };
    
        this.get = function (key) {
            return this.data[key];
        };
    
        this.remove = function (key) {
            this.keys.remove(key);
            this.data[key] = null;
        };
    
        this.each = function (fn) {
            if (typeof fn != 'function') {
                return;
            }
            var len = this.keys.length;
            for (var i = 0; i < len; i++) {
                var k = this.keys[i];
                fn(k, this.data[k], i);
            }
        };
    
        this.entrys = function () {
            var len = this.keys.length;
            var entrys = new Array(len);
            for (var i = 0; i < len; i++) {
                entrys[i] = {
                    key: this.keys[i],
                    value: this.data[i]
                };
            }
            return entrys;
        };
    
        this.isEmpty = function () {
            return this.keys.length == 0;
        };
    
        this.size = function () {
            return this.keys.length;
        };
    }

    var map = new Map();
    map.put("a","a");
    map.put("b","b");

    var data = "";
    map.each(function(value, key){
        data += key;
      }
    );
    console.log(data);
     

      

     
  • 相关阅读:
    搜狗输入法ubuntu
    数学
    1
    狗蚂蚁, 模拟题.
    最小公倍数
    哈夫曼费用计算C++
    C++十进制到任意进制
    【Django QuerySet API009】
    【Django模型(数据库)008】
    【Django模板进阶007】
  • 原文地址:https://www.cnblogs.com/lyf22/p/4930988.html
Copyright © 2011-2022 走看看