JS自定义 Map 键值对对象

来源:互联网 发布:千牛直播和淘宝直播 编辑:程序博客网 时间:2024/05/26 17:46
<script>  
function Map() {
this.keys = new Array();
this.data = new Array();
//添加键值对
this.set = function (key, value) {
if (this.data[key] == null) {//如键不存在则身【键】数组添加键名
this.keys.push(value);
}
this.data[key] = value;//给键赋值
};
//获取键对应的值
this.get = function (key) {
return this.data[key];
};
//去除键值,(去除键数据中的键名及对应的值)
this.remove = function (key) {
this.keys.remove(key);
this.data[key] = null;
};
//判断键值元素是否为空
this.isEmpty = function () {
return this.keys.length == 0;
};
//获取键值元素大小
this.size = function () {
return this.keys.length;
};
}

//test
var newMap=new Map();
newMap.set("1","Hello JS");
alert(
newMap.get("1")); 
</script>