`
jimmy.shine
  • 浏览: 389825 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Javascript版本的Map

    博客分类:
  • Ajax
阅读更多
/**
 * @copyright vaalhaai.com
 *
 * <pre>
 * vaalhaai Map
 *
 * @author: Jimmy.Shine <Jimmy.Shine@Gmail.com>
 * @version: 1.0
 * @date : Jan 3,2010
 * @description: Map
 * </pre>
 */
 
 function Map(){
 	this.keys = new Array();
 	this.datas = new Array();
 	
 	this.put = function(key,value){
 		if(!this.containsKey(key)){
 			this.keys.push(key);	
 		}
 		this.datas[key] = value;
 	}
 	
 	this.get = function(key){
 		return this.datas[key];
 	}
 	
 	this.remove = function(key){
 		for(var i = 0;i<this.keys.length;i++){
 			if(key == this.keys[i]){
 				this.keys.splice(i,1);
 			}
 		}
 		this.datas[key] = null;
 	}
 	
 	this.clear = function(){
 		this.keys = null;
 		this.datas = null;
 	}
 	
 	this.containsKey = function(key){
 		for(var i = 0;i<this.keys.length;i++){
 			if(key == this.keys[i]){
 				return true;
 			}
 		}
 		return false;
 	}
 	
 	this.entrySet = function(){
 		return this.datas;
 	}
 	
 	this.keySet = function(){
 		return this.keys;
 	}
 	
 	this.isEmpty = function(){
 		return this.keys && this.keys.length >0;
 	}
 	
 	this.values = function(){
 		var vs = new Array(this.keys.length);
		for(var i = 0;i<this.datas.length;i++){
			vs[i] = datas[i];
		}
		return vs;
 	}
 }
 
分享到:
评论
1 楼 罗卜头 2010-01-17  
老大...JS的对象属性本身就是hash读取的。。

obj.att 或者 obj[att]

相关推荐

Global site tag (gtag.js) - Google Analytics