Skip to content

2010年08月21日

Javascript下实现MAP

Java中大家会经常用到MAP,但是在Javascript中要如何实现呢,下面给大家贴段从网上搜集过来的代码,写得还是不错的。

	/**
	* Make a map like java.
	* You can use this map like this :
	* var myMap = new Map();
	* myMap.put("key","value");
	* var key = myMap.get("key");
	*/
	function Map() {   

	    this.elements = new Array();   

	    this.size = function() {
	        return this.elements.length;
	    }   

	    this.isEmpty = function() {
	        return (this.elements.length < 1);
	    }   

	    this.clear = function() {
	        this.elements = new Array();
	    }   

	    this.put = function(_key, _value) {
	        this.elements.push({key:_key, value:_value});
	    }   

	    this.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;
	    }   

	    this.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;
	        }
	    }   

	    this.element = function(_index) {
	        if (_index < 0 || _index >= this.elements.length) {
	            return null;
	        }
	        return this.elements[_index];
	    }   

	    this.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;
	    }   

	    this.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;
	    }   

	    this.values = function() {
	        var arr = new Array();
	        for (i = 0; i < this.elements.length; i++) {
	            arr.push(this.elements[i].value);
	        }
	        return arr;
	    }   

	    this.keys = function() {
	        var arr = new Array();
	        for (i = 0; i < this.elements.length; i++) {
	            arr.push(this.elements[i].key);
	        }
	        return arr;
	    }
	}

原文来自:我爱互联网|woiweb|专注互联网设计与开发


欢迎转载,转载请注明: 转载自田园牧歌

本文链接地址: Javascript下实现MAP

其它文章

Read more from 前端开发

Share your thoughts, post a comment.

(required)
(required)

Note: HTML is allowed. Your email address will never be published.

Subscribe to comments