本文实例讲述了JS实现的自定义map方法。分享给大家供大家参考,具体如下:<!DOCTYPEhtml>
本文实例讲述了JS实现的自定义map方法。分享给大家供大家参考,具体如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>www.jb51.net JS自定义map方法</title>
</head>
<body>
<script>
window.onload = function() {
function Map() {
var obj = {};
this.put = function(key, value) {
obj[key] = value;//把键值绑定到obj对象上
}
//size方法,获取Map容器的个数
this.size = function() {
var count = 0;
for(var attr in obj) {
count++;
}
return count;
}
//get方法,根据key获取value的值
this.get = function(key) {
if(obj[key] || obj[key] === 0 || obj[key] === false) {
return obj[key]
} else {
return null;
}
}
//remove方法,删除方法
this.remove = function(key) {
if(obj[key] || obj[key] === 0 || obj[key] === false) {
delete obj[key]
}
}
//each方法,遍历方法
this.eachMap = function(callBack) {
for(var attr in obj) {
callBack(attr, obj[attr])
}
}
}
var m = new Map();
m.put('01', "aaa");
m.put('02', "bbb");
m.put('03', "ccc");
m.put('04', "ddd");
m.put('05', "eee");
//alert(m.size());
//alert(m.get('03'));
// alert(m.remove('ccc'));
m.eachMap(function(key ,value) {
console.log(key)
console.log(value)
})
}
</script>
</body>
</html>
运行结果:
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
JS 自定义 map方法