js模拟java中Map

 首先需要创建一个js对象,用来存储map中的数据

  • 创建私有的object对象
 function Map() { 
        var obj = {};

 对map几个方法的实现 

  • java的map中put方法,需要传入key及其value
this.put = function (key, value) {
                obj[key] = value;
            }
  • size方法获取map中属性的个数
 this.size = function (){
                var count = 0; 
                for(var o in obj){  //遍历
                    count++;
                }
                return count;
            }
  • get方法根据传入的key获取到对应的value值 
  • 在这步中需要对key进行判断,在js中的自动转化机制会自动将value中的0,1在if判断句中转化为false或者true
  • 还有一种情况是当key所对应的value值本身就为false时 这步的判断返回的就为null
 this.get = function (key) {
                if (obj[key] || obj[key] === 0 || obj[key] === false) {   //防止map中的存储的值为false
                    return obj[key];
                } else {
                    return null;
                }
            }
  • remove方法根据传入的key删除value值
  • 需要对value进行判断
this.remove = function (key) {
                if (obj[key] || obj[key] === 0 || obj[key] === false) {
                    delete obj[key];
                }
            }
  • eachMap方法遍历map
  • 该方法在遍历时需要传入函数,对map按照传入函数的方法进行遍历
 this.eachMap = function (fn){
                for(var o in obj){
                    fn(o,obj[o]);
                }
            }
function fn(key,value){
            alert(key+ ":"+ value);
        }
  • 上面代码分别实现了map的添加、删除、遍历、取值、获取大小几个功能,目前还在学习js的过程中,有问题请大佬们多多指点,多谢
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值