javascript中模拟实现java语言中的map

//javascript中模拟实现java语言中的map

<!DOCTYPE html>

<html lang="en">

<head>

         <metacharset="UTF-8">

         <scripttype="text/javascript">

                   //private

                   varobj={};//空的对象容器,用于承装键值对

                   functionMap()

                   {

                            //put方法

                            this.put=function(key,value)

                            {

                                     obj[key]=value;//把键值对绑定到js对象上

                            }

                            //用户用去map容器的个数

                            this.size=function()

                            {

                                     //定义一个变量用于记录个数

                                     varcount=0;

                                     for(varattr in obj)

                                     {

                                               count++;

                                     }

                                     returncount;

                            }

                            //根据key得到value值

                            this.get=function(key)

                            {

                                     /**

                                     因为在js中如果变量为0,在判断的条件中表示为false(类型自动转换)

                                     */

                                     if(obj[key]||obj[key]===0||obj[key]===false)

                                     {

                                               returnobj[key];

                                     }

                                     else

                                     {

                                               returnnull;

                                     }

                            }

                            //根据key删除

                            this.remove=function(key)

                            {

                                     if(obj[key]||obj[key]===0||obj[key]===false)

                                     {

                                               deleteobj[key];

                                     }

                            }

                            //遍历map中的元素

                            this.eachMap=function(fun)

                            {

                                     for(varattr in obj)

                                     {

                                               fun(attr,obj[attr]);

                                     }

                            }

                   }

                   //模拟java中的map

                   varm=new Map();

                   m.put("1",'徐守威');

                   m.put("2",25);

                   m.put("3",true);

                   m.put("4",newDate());

                   //console.log(m.size());

                   //console.log(m.get("1"));

                   //m.remove("1");

                   //console.log(m.get("1"));

                   m.eachMap(function(key,value){

                            console.log(key+": "+value)

                   });

         </script>

</head>

<body>

        

</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值