日期:2014-05-16  浏览次数:20405 次

js实现的map
这是一个通过js实现的map,不是我自己编写的,是群里的一位朋友分享的,我觉得有需要的时候可以考虑使用。

function Map() {

	var struct = function(key, value) {
		this.key = key;
		this.value = value;
	}

	var put = function(key, value){
		for (var i = 0; i < this.arr.length; i++) {
			if ( this.arr[i].key === key ) {
				this.arr[i].value = value;
				return;
			}
		}
		this.arr[this.arr.length] = new struct(key, value);
	}

	var get = function(key) {
		for (var i = 0; i < this.arr.length; i++) {
			if ( this.arr[i].key === key ) {
				return this.arr[i].value
			}
		}
		return null;
	}

	var remove = function(key) {
		var v;
		for (var i = 0; i < this.arr.length; i++) {
			v = this.arr.pop();
			if ( v.key === key ) {
				v=null;
				continue;
			}
			this.arr.unshift(v);
		}
	}

	var size = function() {
		return this.arr.length;
	}
		
	var isEmpty = function() {
		return this.arr.length <= 0;
	}
	this.arr = new Array();
	this.get = get;
	this.put = put;
	this.remove = remove;
	this.size = size;
	this.isEmpty = isEmpty;
}
1 楼 mercyblitz 2010-06-28  
JS自带Directory,其实就是Map实现。

在Java中,Hashtable就实现了Directory接口。
2 楼 布衣九久 2010-06-28  
mercyblitz 写道
JS自带Directory,其实就是Map实现。

在Java中,Hashtable就实现了Directory接口。


哦,这样啊,对js还不是特别了解,谢谢了