文档章节

7_引用类型(【四】object练习模拟Map)

1217528969
 1217528969
发布于 2015/03/02 14:30
字数 152
阅读 16
收藏 1
//使用js模拟java中的Map
function Map(){
    var obj = {};
    this.put = function(key, value){
        if(key){
            obj[key] = value;
        }
    };
    
    this.get = function(key){
        if(key || obj[key] === 0 || obj[key] === false){
            return obj[key];
        }
        return null;
    };
    this.size = function(){
        var count = 0;
        for(var attr in obj){
            count++;
        }
        return count;
    };
    
    this.remove = function(key){
        //注意此处的判断条件
        if(key || obj[key] === 0 || obj[key] === false){
            delete obj[key];
        }
    };
    
    this.each = function(fn){
        for(var attr in obj){
            fn(attr, obj[attr]);
        }
    };
    
    this.keys = function(){
        var keys = [];
        for(var attr in obj){
            keys.push(attr);
        }
        return keys;
    };
}

var m = new Map();
m.put("01", "abc");
m.put("02", false);
m.put("03", true);
m.put("04", new Date());
console.info(m.size());
console.info(m.get("02"));
m.remove("03");
console.info(m.get("03"));
m.each(function(key, value){
    console.info(key + " --> " + value);
});

© 著作权归作者所有

共有 人打赏支持
1217528969
粉丝 1
博文 27
码字总数 14810
作品 0
济南
Map-HashMap-LinkedHashMap-Map.Entry-Collections-可变参数

一.Map 接口(java.util) 定义:public interface Map 介绍: (1)Map是一个接口,含有两个泛型,创建子类对象的时候,需要传递两个泛型的值; (2)将键映射到值的对象。一个映射不能包含重复的键;每...

老胡2015
06/26
0
0
黑马程序员——集合篇

------- android培训、java培训、期待与您交流! ---------- 1、集合类 为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集...

optimisticpig
2014/05/03
0
0
spring学习——Ioc基础四(Di的配置使用)

一、依赖和依赖注入 传统应用程序设计中所说的依赖一般指“类之间的关系”,那先让我们复习一下类之间的关系: 泛化:表示类与类之间的继承关系、接口与接口之间的继承关系; 实现:表示类对...

小风89
2015/10/12
222
0
【第三章】 DI 之 3.1.3 DI的配置使用 ——跟我学spring3

四、其他引用方式:除了最基本配置方式以外,Spring还提供了另外两种更高级的配置方式,<ref local=””/>和<ref parent=””/>: (1)<ref local=””/>配置方式:用于引用通过<bean id=”...

azikaxu
2015/04/15
0
0
nature/kunter-generator

kunter-generator Git@OSC GitHub Bitbucket Coding 因服务器问题,Maven私库无法提供服务,如需下载kunter-base包请私信我 特别声明:因为采用了12c特有分页语法,本工具Oracle暂时不支持O...

nature
2015/06/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
4
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部