JavaScript Map实现
function Map() {
var obj = new Object();
this.keySet = function() {
return Object.getOwnPropertyNames(obj);
}
this.put = function(key, value) {
obj[key] = value;
}
this.get = function(key) {
return obj[key];
}
this.remove = function(key) {
delete obj[key];
}
this.clear = function() {
obj = new Object();
}
this.isEmpty = function() {
return !Boolean(Object.getOwnPropertyNames(obj).length);
}
this.size = function() {
return Object.getOwnPropertyNames(obj).length;
}
}
实现的方式避开了For循环(效率上比For要高好多),采用Object的属性作为存储key、value的媒介,使用原生方法实现部分功能。
注:
1、keySet 返回的是数组。
2、remove实现方式并不是很理想。
整体而言,实现了一些常用的Map Method,但并不是很全。欢迎大家提出建议或者是补全方法。