<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> 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代码运行工具:测试上述代码运行效果。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript遍历算法与技巧总结》、《javascript面向对象入门教程》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结》