zoukankan      html  css  js  c++  java
  • 用JavaScript写map

    <script type="text/javascript">
        function Map() {
            this.elements = new Array();
        }
    
        //获取MAP元素个数
        Map.prototype.size = function() {
            return this.elements.length;
        };
    
        //判断MAP是否为空
        Map.prototype.isEmpty = function() {
            return (this.elements.length < 1);
        };
    
        //删除MAP所有元素
        Map.prototype.clear = function() {
            this.elements = new Array();
        };
    
        //向MAP中增加元素(key, value)
        Map.prototype.put = function(_key, _value) {
            if (this.elements.length>0) {
                var flag=true;
                for (var i = 0; i < this.elements.length; i++) {
                    if (this.elements[i].key==_key) {
                        this.elements[i].value=_value;
                        flag=false;
                    }    
                };
                if (flag) {
                    this.elements.push({
                            key : _key,
                            value : _value
                        });
                };
            }else{
                this.elements.push({
                    key : _key,
                    value : _value
                });
            };  
        };
    
        //删除指定KEY的元素,成功返回True,失败返回False
        Map.prototype.remove = function(_key) {
            var bln = false;
            try {
                for (i = 0; i < this.elements.length; i++) {
                    if (this.elements[i].key == _key) {
                        this.elements.splice(i, 1);
                        return true;
                    }
                }
            } catch (e) {
                bln = false;
            }
            return bln;
        };
    
        //获取指定KEY的元素值VALUE,失败返回NULL
        Map.prototype.get = function(_key) {
            try {
                for (i = 0; i < this.elements.length; i++) {
                    if (this.elements[i].key == _key) {
                        return this.elements[i].value;
                    }
                }
            } catch (e) {
                return null;
            }
        };
    
        //获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
        Map.prototype.element = function(_index) {
            if (_index < 0 || _index >= this.elements.length) {
                return null;
            }
            return this.elements[_index];
        };
    
        //判断MAP中是否含有指定KEY的元素
        Map.prototype.containsKey = function(_key) {
            var bln = false;
            try {
                for (i = 0; i < this.elements.length; i++) {
                    if (this.elements[i].key == _key) {
                        bln = true;
                    }
                }
            } catch (e) {
                bln = false;
            }
            return bln;
        };
    
        //判断MAP中是否含有指定VALUE的元素
        Map.prototype.containsValue = function(_value) {
            var bln = false;
            try {
                for (i = 0; i < this.elements.length; i++) {
                    if (this.elements[i].value == _value) {
                        bln = true;
                    }
                }
            } catch (e) {
                bln = false;
            }
            return bln;
        };
    
        //获取MAP中所有VALUE的数组(ARRAY)
        Map.prototype.getValues = function() {
            var arr = [];
            for (i = 0; i < this.elements.length; i++) {
                arr.push(this.elements[i].value);
            }
            return arr;
        };
    
        //获取MAP中所有KEY的数组(ARRAY)
        Map.prototype.getKeys = function() {
            var arr = [];
            for (i = 0; i < this.elements.length; i++) {
                arr.push(this.elements[i].key);
            }
            return arr;
        };
    </script>

    用JavaScript仿java的map功能,小组培训作业,记录一下!

  • 相关阅读:
    vb动态创建控件
    100多个很有用的JavaScript函数以及基础写法汇总
    CodeFile与CodeBehind的区别
    asp.net防sql注入问题
    .NET创建目录和文件
    Asp.Net判断字符是否是数字
    Asp.Net随机中文汉字验证码
    禁用表单自动提示complete
    如何隐藏vs2005的起始页
    Asp.Net enableEventValidation
  • 原文地址:https://www.cnblogs.com/iagw/p/6295716.html
Copyright © 2011-2022 走看看