`

js封装hashMap并调用

    博客分类:
  • js
阅读更多
 新建一个hashMap.js文件,文件内容如下:
Array.prototype.remove = function(s) {
	for (var i = 0; i < this.length; i++) {
		if (s == this[i])
			this.splice(i, 1);
	}
}

function HashMap() {
	this.keys = new Array();
	this.data = new Object();

	this.put = function(key, value) {
		if(this.data[key] == null){
			this.keys.push(key);
		}
		this.data[key] = value;
	};
	this.get = function(key) {
		return this.data[key];
	};
	this.remove = function(key) {
		this.keys.remove(key);
		this.data[key] = null;
	};
	this.each = function(fn){
		if(typeof fn != 'function'){
			return;
		}
		var len = this.keys.length;
		for(var i=0;i<len;i++){
			var k = this.keys[i];
			fn(k,this.data[k],i);
		}
	};
	this.entrys = function() {
		var len = this.keys.length;
		var entrys = new Array(len);
		for (var i = 0; i < len; i++) {
			entrys[i] = {
				key : this.keys[i],
				value : this.data[i]
			};
		}
		return entrys;
	};
	this.isEmpty = function() {
		return this.keys.length == 0;
	};
	this.size = function(){
		return this.keys.length;
	};
	this.toString = function(){
		var s = "{";
		for(var i=0;i<this.keys.length;i++,s+=','){
			var k = this.keys[i];
			s += k+"="+this.data[k];
		}
		s+="}";
		return s;
	};
}

function testMap(){
	var m = new HashMap();
	m.put('key1','Comtop');
	m.put('key2','key2内容');
	m.put('key3','key3内容');
	alert("init:"+m);
	
	m.put('key1','key1xxxx');
	alert("set key1:"+m);
	
	m.remove("key2");
	alert("remove key2: "+m);
	
	var s ="";
	m.each(function(key,value,index){
		s += index+":"+ key+"="+value+"\n";
	});
	alert(s);
}
最底下有个testMap函数是可以调用的测试的例子。很简单方便。所以记录了下来

 

 

分享到:
评论

相关推荐

    json对象封装及解析所需的JAR包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务和应用程序之间的数据传输,因为它易于阅读和编写,同时也易于机器解析和生成。在Java中,处理JSON对象通常需要依赖特定的库,本...

    mvcDemo-master2.rar

    在这个项目中,前端可能通过发送AJAX请求与Controller层交互,Controller处理请求并调用Service层的方法,最终返回数据给前端。 项目的文件名“mvcDemo-master”可能包含项目的主要源代码、配置文件、测试代码等。...

    MVC中三层文件的曹总执行流程

    例如,创建一个HashMap并将学生信息、年龄、姓名、电话和地址分别放入对应的键值对中,最后使用ObjectMapper将Map转换为JSON字符串并写入HTTP响应。 前端接收到JSON数据后,利用jQuery解析并更新页面元素。例如,将...

    网上购物车系统

    此外,Struts框架支持Struts配置文件(struts-config.xml),在这个文件中可以定义Action及其关联的ActionForm,ActionForm用于封装请求参数并传递给Action处理。购物车系统中可能有一个`CartItemForm`,用于封装...

    sourceCode_java.rar_javascript

    8. **Node.js**:JavaScript在服务器端的应用,以及相关的NPM包管理和模块系统。 文件名称列表中的"sourceCode java"可能包含了各种Java源代码文件,可能涵盖以上提及的一些基础概念和实践案例。对于初学者来说,...

    临时资源java、javascript相关

    - **基础概念**:理解Java的面向对象特性,如封装、继承和多态。熟悉类、对象、接口和抽象类的区别。 - **内存管理**:掌握Java内存模型(JVM),包括堆、栈、方法区和本地方法栈。了解垃圾回收机制和内存泄漏的...

    Echars在Java项目中部署

    3. **配置ECharts**:在JavaScript中,创建ECharts实例并设置配置项。配置项包括图表类型、数据、颜色、轴标签等。例如: ```javascript var myChart = echarts.init(document.getElementById('main')); var ...

    Struts2整合jquery利用json与后台交互

    在Struts2中,我们可以创建一个Action类来处理用户请求,并返回JSON结果。首先,需要在struts.xml配置文件中定义一个JSON结果类型,如下所示: ```xml ``` 接着,为Action添加一个方法,返回一个封装了数据的...

    点聚接口轻阅读ofd集成java

    2. **Ajax异步请求**:在示例代码中,使用了jQuery库的$.ajax方法,这是一个异步的JavaScript和XML(AJAX)技术,用于在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。这里的Ajax请求用于加载点聚轻...

    程序员笔试题目(JAVA).doc

    1. 封装:封装是面向对象编程的基础,它通过访问控制(如public、private、protected)来隐藏类的内部细节,只对外暴露必要的接口供其他类使用。这样可以增强代码的安全性和可维护性。 2. 多态:多态是指同一种行为...

    java笔试面试题汇总 基础版 最新 最全

    - **封装类**:为原始数据类型提供封装,例如`Integer`封装了`int`,`Double`封装了`double`。这些封装类提供了额外的方法来操作数据。 - **区别**:原始数据类型在内存中直接存储值,而封装类存储的是指向该值的...

    常用技术文档

    6. **反射API**:允许在运行时检查类的信息并动态调用方法。 7. **设计模式**:如单例、工厂、观察者模式等,是解决常见问题的通用解决方案。 接着,JavaScript的知识点涵盖: 1. **变量与数据类型**:包括var、let...

    HTML、JavaScript与Java三合一最新培训教程

    - **函数**:函数的定义、调用以及回调函数等概念。 - **对象与数组**:理解如何使用对象和数组进行数据存储和处理。 - **DOM操作** - DOM(Document Object Model)是文档对象模型,用于表示和修改文档结构。 ...

    java开发手册文档

    压缩包中的`prototype.js开发手记.doc`和`prototype.js开发者手册1.4.doc`文件,虽然不是直接关于Java,但Prototype.js是一个流行的JavaScript库,它扩展了JavaScript的基本对象,使得在JavaScript中进行面向对象...

    FushionCharts使用文档.docx

    FusionCharts是一款强大的...总的来说,FusionCharts是一个强大的工具,通过简单的JS调用和后台数据处理,就能实现丰富的数据可视化效果。理解和掌握上述知识点将帮助你有效地利用FusionCharts创建交互式的图表应用。

    leetcode-js:我可以参考过去使用JavaScript解决类似Leetcode的问题的解决方案的一种方法

    - 哈希表:JavaScript对象可作为简单的哈希表,复杂情况可能需要自定义HashMap。 4. **算法** - 排序算法:JavaScript内置的sort方法是简单排序,但LeetCode中经常需要快速排序、归并排序、堆排序等高级排序算法...

    学生管理系统

    在JAVA中,这可以通过Scanner类获取用户的输入,然后解析输入并调用相应的功能方法。 此外,为了提高代码的可读性和可维护性,良好的编程规范和设计模式的运用是必不可少的。比如,可以采用单例模式来管理数据库...

    TreeUtil工具类

    总的来说,TreeUtil工具类是Java开发中处理树形数据结构的强大助手,通过封装常见的树操作,简化了开发流程,提高了代码的可读性和复用性。掌握并合理运用这类工具,对于提升开发效率至关重要。

    毕向东java经典学习笔记word版

    7. **反射与注解**:反射机制允许程序在运行时动态地获取类的信息并调用其方法,注解则是为代码提供元数据的一种方式。这部分会讲解它们的应用场景和使用方法。 8. **Java高级特性**:包括枚举、泛型、Lambda表达式...

    java电子书

    3. **数组与集合框架**:包括一维和多维数组的使用,以及ArrayList、LinkedList、HashMap等集合类的使用和操作。 4. **异常处理**:如何捕获和处理程序运行时可能出现的错误,以增强程序的健壮性。 5. **输入/输出...

Global site tag (gtag.js) - Google Analytics