今天在工作中碰到一个问题,需要在JavaScript使用类似Java的HashMap的数据类型,可惜JavaScript自身不提供这种数据类型,于是想自己实现一个。
在Google上搜到一个老外论坛(http://www.hftonline.com/forum/showthread.php?t=12882)上的实现方式,感觉非常简洁明了,于是按照他的思路,扩充了一下,加了两个自己想要的方法,用着蛮爽。
var hashMap = {
Set : function(key,value){this[key] = value},
Get : function(key){return this[key]},
Contains : function(key){return this.Get(key) == null?false:true},
Remove : function(key){delete this[key]}
}
使用方法示例:
hashMap.Set("name","John Smith");
hashMap.Set("age",24);
hashMap.Get("name");//John Smith
hashMap.Contains("title");//false
hashMap.Contains("name");//true
hashMap.Remove("age");
够简洁吧。而且比用数组方式实现更好的地方在于,不会出现数组越界错误。
分享到:
相关推荐
虽然JavaScript原生的`Map`对象提供了类似的功能,但在某些场景下,开发者可能需要自定义HashMap来满足特定的需求,例如优化性能或者实现特定的算法。本篇文章将深入探讨如何在JavaScript中实现HashMap以及如何进行...
例如,`java.io`包提供了处理输入和输出流的类,`java.net`包用于网络编程,而`java.util`包则包含了许多实用工具类,如ArrayList和HashMap。Java API的使用能够使开发者高效地构建跨平台的应用程序。 其次,AJAX...
JSON(JavaScript Object Notation)和XML(eXtensible Markup Language)是两种广泛使用的数据交换格式,它们在Web服务、应用程序通信以及数据存储等领域扮演着重要角色。JSON以其简洁明了的语法,常用于轻量级的...
在Java编程中,反射是...这种实现方式虽然简洁,但并不适用于所有场景,特别是在处理复杂数据结构和性能要求高的应用中。在生产环境中,推荐使用成熟的JSON库如Jackson或Gson,它们提供了更高效、功能丰富的解决方案。
Map, Object> data = new HashMap(); data.put("key", "value"); // 设置响应内容类型为JSON response.setContentType("application/json; charset=UTF-8"); // 将数据转化为JSON并写入响应 PrintWriter ...
在Struts2中实现Ajax(Asynchronous JavaScript and XML)可以极大地提升Web应用的用户体验,因为它允许部分页面动态更新,而无需整个页面刷新。以下是对Struts2实现Ajax的详细解释: 1. **Ajax基础**: Ajax的...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于阅读的特性,被广泛应用于前后端交互。当需要将Java中的Map对象转换为JSON字符串时,我们就需要用到特定的库来实现这一功能。本文将...
8. **新的HashMap和HashSet实现**:为了提高性能,JDK 1.8对`HashMap`和`HashSet`的实现进行了优化,尤其是容量为2的幂次时的性能得到了显著提升。 9. **并行GC(G1垃圾收集器)改进**:JDK 1.8中的G1(Garbage ...
Aviator 是一个强大的 Java 表达式执行引擎,它允许你在运行时动态计算表达式,类似于 JavaScript 或者其他脚本语言。在Java应用中,Aviator 特别适合用于数据分析和处理,例如对 List 中的数据进行求和、排序、找出...
同时,可以结合`java.util.HashMap`(Java)、`dict`(Python)或`Map`(JavaScript)等数据结构来实现缓存。 7. **性能优化**: 当大量使用XPath查询时,应考虑优化策略,比如编译XPath表达式以减少解析时间,或者...
总结来说,实例059展示了如何使用Java的Map数据结构来存储和管理省市级联选择框的数据,并结合前端的JavaScript和Ajax技术实现联动效果。这种方式不仅简洁高效,还能灵活适应数据的变化,是Web开发中处理这类问题的...
"基于JSP实现的校园师生交流系统" 描述简洁明了,表明该系统是一个用于校园内部沟通的软件应用,主要功能可能包括教师与学生之间的消息传递、课程信息的发布、问题解答等。它使用JSP作为前端展示层技术,这使得...
Java 8引入了Nashorn JavaScript引擎,允许Java程序直接执行JavaScript代码,实现Java和JavaScript之间的互操作。 十、Type注解 Java 1.8允许在类型上使用注解,增强了编译时和运行时的类型检查,如@NonNull用于...
由于其简洁和清晰的层次结构,JSON被广泛用于Web服务与客户端之间的数据交换。 在JavaScript中,JSON对象可以直接作为JavaScript对象来处理,无需额外的解析或序列化工具。例如,在提供的代码示例中,`showJSON`...
在Web开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。由于其简洁和高效的特点,JSON成为了前后端交互的标准数据格式之一。对于Java开发者而...
- **ES6+新特性**:如箭头函数、Promise、async/await等,让JavaScript编写更加简洁和易读。 了解并熟练运用这些Java相关的知识点,不仅能提高开发效率,还能帮助你解决实际项目中的复杂问题。不断地学习和实践,...
7. ** Nashorn JavaScript引擎**:JDK 1.8集成了Nashorn JavaScript引擎,允许Java代码直接调用JavaScript,实现了Java与JavaScript之间的互操作。 8. **并发改进**:并发库进行了优化,如`ForkJoinPool`和`...
接着,集合框架是Java中处理数据结构的核心,包括`List`、`Set`和`Map`接口,以及它们的实现类如`ArrayList`、`HashSet`、`HashMap`等。这些接口和类提供了添加、删除、查找和遍历元素的方法,方便我们管理和操作...
8. **Nashorn JavaScript引擎**:JDK 1.8集成了Nashorn JavaScript引擎,允许Java代码直接执行JavaScript脚本,实现了Java与JavaScript之间的交互。 9. **类型推断增强**:编译器的类型推断能力在JDK 1.8中得到提升...