通过JavaScript中Obect模拟Map的几个简单方法:
<script type="text/javascript" charset="UTF-8">
<script type="text/javascript" charset="UTF-8">
function Map() {
// 创建一个Object对象
var obj = {};
// 通过obj对象的key = value的方式模拟Map的put方法
this.put = function(key,value) {
obj[key] = value;
};
// 判断key存在与否返回key对应的值
this.get = function(key) {
if(obj.hasOwnProperty(key)) {
return obj[key];
}
return null;
};
// 使用delete方法删除obj对象中的key
this.remove = function(key) {
if(obj.hasOwnProperty(key)) {
delete obj[key];
}
};
// 得到map中所有的key
this.getKeys = function() {
var keys = [];
for(var attr in obj) {
keys.push(attr);
}
return keys;
};
// 利用回调函数,对obj中的每一个属性执行操作
this.eachMap = function(fn) {
for(var attr in obj) {
fn(attr,obj[attr]);
}
};
// 通过循环返回变量的大小
this.size = function() {
var count = 0;
for(var attr in obj) {
count++;
}
return count;
};
}
</script>