在JavaScript 自定义对象来模拟Java中的Map

直接看代码:

 1 //模拟一个Map对象
 2 function Map(){
 3
 4     //声明一个容器
 5     var container={};
 6
 7     //定义一个put方法,向容器中存值
 8     this.put=function(key,value){
 9         container[key]=value;
10     }
11
12     //通过key获取value
13     this.get=function(key){
14         if(container[key] || container[key]===0 || container[key]===false){
15             return container[key]
16         }else{
17             return null;
18         }
19     }
20
21     //获取map中存入键值对的个数
22     this.size=function(){
23         var count=0;
24         //遍历对象属性
25         for(var attr in container){
26             count++;
27         }
28         return count;
29     }
30
31     //遍历map并传入一个回调函数,该函数有2个参数,一个接收key,一个接收value
32     this.each=function(callback){
33         for(var attr in container){
34             callback(attr,container[attr]);
35         }
36     }
37
38     //从map中删除数据
39     this.remove=function(key){
40         delete container[key];
41     }
42 }

代码测试:

 1 //通过put存值
 2 var map=new Map();
 3
 4 map.put("name","caoyc");
 5 map.put("age",25);
 6 map.put("phone","13700000000");
 7
 8 //通过get获取值
 9 document.write("1:通过get方法获取值<br/>");
10 document.write("name:"+map.get("name"));
11 document.write("<hr/>");
12
13 //获取map中存入键值对的个数
14 document.write("2:获取map中存入键值对的个值<br/>");
15 document.write("size:"+map.size());
16 document.write("<hr/>");
17
18 //使用回调函数遍历map
19 document.write("3:使用回调函数遍历map<br/>");
20 map.each(function(key,value){
21         document.write(key+":"+value);
22         document.write("<br/>");
23     });
24 document.write("<hr/>");
25
26 //使用remove删除数据
27 document.write("4:使用remove删除数据<br/>");
28 map.remove("name");
29 document.write("删除后再次遍历map<br/>");
30 map.each(function(key,value){
31         document.write(key+":"+value);
32         document.write("<br/>");
33     });
34 document.write("<hr/>");

最终输出结果:

时间: 2024-11-06 01:35:02

在JavaScript 自定义对象来模拟Java中的Map的相关文章

javascript 实现java中的Map

javascript实现java中的Map,代码是在国外的一个网站上看到的(http://stackoverflow.com/questions/368280/javascript-hashmap-equivalent),自己稍作了修改,之前也看到过有人用2个数组实现了Map,但是我感觉效率比较低,现在这个我感觉效率还可以,自己做了下测试,代码如下: Map.js Java代码   function Map(linkItems) { this.current = undefined; this.

Java中遍历Map对象的4种方法

在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等) 方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. [java] view

使用Go来模拟Java中的接口 实现类

针对项目中,相同的流程业务进行重构,使用Go来简单模拟Java中的接口,实现类的方式进行重构.分享一简单例子: package main //模拟java中的接口,实现类 import "fmt" // 声明一个接口, type workthread interface { do(name string) } // 传入的wt的子类不同,do方法执行的逻辑也不同 func Handle(wt workthread, name string) { fmt.Println("--

javascript自定义对象

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascr

Java中的Map List Set等集合类

Map List Set等集合类: 一.概述 在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父子关系: +Collection 这个接口extends自 --java.lang.Iterable接口 ├+List(接口 代表有序,可重复的集合.列表) │├ ArreyList     (Class 数组,随机访问,没有同步,线程不安全) │├ Vector        (Class  数组                   同步        线程全) │

Java中Set Map List 的区别

java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list   --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构,健值必须具有唯一性(键不能同,否则值替换) List按对象进入的顺序保存对象,不做排序或编辑操作.Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List).Map同样对每个元素保存一份,但这是基于"键"的,Ma

java中遍历MAP的几种方法

java中遍历MAP的几种方法 Java代码 Map<String,String> map=new HashMap<String,String>();    map.put("username", "qq");    map.put("passWord", "123");    map.put("userID", "1");    map.put("em

JAVA中遍历Map和Set方法,取出map中所有的key

Java遍历Set集合 1.迭代器遍历: Set<String> set = new HashSet<String>(); Iterator<String> it = set.iterator(); while (it.hasNext()) { String str = it.next(); System.out.println(str); } 2.for循环遍历: for (String str : set) { System.out.println(str); }

JAVA中关于Map的九大问题

通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的.下面就以K和V来代表键和值,来说明一下java中关于Map的九大问题. 0.将Map转换为List类型 在java中Map接口提供了三种集合获取方式:Key set,,value set, and key-value set..它们都可以通过构造方法或者addAll()方法来转换为List类型.下面代码就说明了如何从Map中构造ArrayList: // key listList keyList = new ArrayLis