在JavaScript 自定义对象来模拟Java中的Map
直接看代码:
//模拟一个Map对象
function Map(){ //声明一个容器
var container={}; //定义一个put方法,向容器中存值
this.put=function(key,value){
container[key]=value;
} //通过key获取value
this.get=function(key){
if(container[key] || container[key]===0 || container[key]===false){
return container[key]
}else{
return null;
}
} //获取map中存入键值对的个数
this.size=function(){
var count=0;
//遍历对象属性
for(var attr in container){
count++;
}
return count;
} //遍历map并传入一个回调函数,该函数有2个参数,一个接收key,一个接收value
this.each=function(callback){
for(var attr in container){
callback(attr,container[attr]);
}
} //从map中删除数据
this.remove=function(key){
delete container[key];
}
}
代码测试:
//通过put存值
var map=new Map(); map.put("name","caoyc");
map.put("age",25);
map.put("phone","13700000000"); //通过get获取值
document.write("1:通过get方法获取值<br/>");
document.write("name:"+map.get("name"));
document.write("<hr/>"); //获取map中存入键值对的个数
document.write("2:获取map中存入键值对的个值<br/>");
document.write("size:"+map.size());
document.write("<hr/>"); //使用回调函数遍历map
document.write("3:使用回调函数遍历map<br/>");
map.each(function(key,value){
document.write(key+":"+value);
document.write("<br/>");
});
document.write("<hr/>"); //使用remove删除数据
document.write("4:使用remove删除数据<br/>");
map.remove("name");
document.write("删除后再次遍历map<br/>");
map.each(function(key,value){
document.write(key+":"+value);
document.write("<br/>");
});
document.write("<hr/>");
最终输出结果:

在JavaScript 自定义对象来模拟Java中的Map的更多相关文章
- js 模拟java 中 的map
//js模拟map Map = { obj : {}, put : function(key , value){ this.obj[key] = value; }, get : function(ke ...
- js中object类型模拟java中的map
- javascript 实现java中的Map
javascript实现java中的Map,代码是在国外的一个网站上看到的(http://stackoverflow.com/questions/368280/javascript-hashmap-e ...
- java中遍历map对象的多种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有ma ...
- Map java中的map 如何修改Map中的对应元素
Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map ...
- Java中Set Map List 的区别
java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...
- Java中遍历Map集合的四种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- Java开发知识之Java中的Map结构
Java开发知识之Java中的Map结构 一丶Map接口 Map没有实现Collection接口,提供的是Key 到Value的映射. Map中.不能包含相同的Key,每个Key只能映射一个Value ...
- Java中遍历map的四种方法 - 转载
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
随机推荐
- JavaSE复习_12 Socket网络编程
△客户端使用Scanner与BufferedReader的异同,Scanner在客户端调用s.shutdownoutput的时候,将会因为读不到行而报异常,但是BufferedReader的readl ...
- MyBatis——优化MyBatis配置文件中的配置
原文:http://www.cnblogs.com/xdp-gacl/p/4264301.html 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写 ...
- 转:桥接模式(Bridge)
转自:http://www.cnblogs.com/rush/archive/2011/06/29/2093743.html 分析十分透彻明了 可以再结合另外一篇文章中的示例理解(http://b ...
- Linux C编程一站式学习
http://docs.linuxtone.org/ebooks/C&CPP/c/ 很全面的介绍
- SQL Server常见基础操作
1. 常见针对表的操作(增删改查) --1. Create Table USE [MVC_000] CREATE TABLE T_TableName ( ID ,) PRIMARY KEY, Name ...
- 修复 SQLite 数据库文件
目 录 第1章 说明 1 1 下载SQLite Tools 1 2 运行 2 第1章 说明 笔者编写的一个程序,无法往 SQLite 数据库文件里写数据.使用SQLiteSpy打开该 ...
- mysql spider之拆库无忧
数据库的三板斧 先上MySQL,之后再上读写分离,然后呢? 后面典型的做法是垂直拆库和水平分表. 一旦数据库拆了之后,代价就来了. 1.事务不能跨库了(少,但是很重要,可以适当改写) 2.相关的关联查 ...
- ServletInputStream的重复读取(多次读取)(转)
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- Python第三方常用工具、库、框架等
Python ImagingLibrary(PIL):它提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换.打印和显示.还能进行一些图形效果的处理,如图形的放大.缩小和旋 ...
- laravel 中 与前端的一些事1
首先安装node.js 在命令行中敲node -v 可以查看node的版本信息 还需要安装npm,相当于php中的composer node.js中5.0版本后的都已经将npm打包进node了 还要安 ...