`
supttkl
  • 浏览: 17709 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

javascript 简单 HashMap

阅读更多
/**
 * 简单HashMap
 * 
 */
function HashMap(){
	data={};
	var size=0;
	//清除所有的属性
	this.clear=function(){
		 data={};
	}
	
	/**
	 * 判断key是否存在
	 * @param key
	 * @return Boolean 
	 */
	this.containsKey=function(){
		return Boolean(arguments[0] in data);
	}
	/**
	 * 判断值是否存在
	 * @param value
	 * @return Boolean
	 */
	this.containsValue=function(){
	   	var str=data.toSource();
		return str.indexOf(arguments[0])==-1 ? false: true;
	}
	/**
	 * 返回key对应的v
	 */
	this.get=function(){
		return data[arguments[0]];
	}
	/**
	 * 判断是否为空
	 * @return Boolean
	 */
	this.isEmpty=function(){
		return size==0? true:false;
	}
	/**
	 * 取出所有的key
	 * @return Array()
	 */
	this.keySet=function(){
		var arr=new Array();
		for(var i in data){
			arr.push(i);
		}
		return arr;
	}
	/**
	 * 将key,value放入对象
	 * @param key 
	 * @param value
	 */
	this.put=function(){
	    data[arguments[0]]=[arguments[1]];
	    if(!this.containsKey(arguments[0])){
	    	 size++;
	    }
	   
	}
	/**
	 * 将另外一个HashMap 复制到此Map
	 * @param map
	 */
	this.putAll=function(){
		data=arguments[0].getData();
	}
	/**
	 * 删除key对应的value
	 * @param key
	 * @return value与 key 关联的旧值
	 */
	this.remove=function(){
		var o=this.get(arguments[0]);
		if(o){
			delete data[o];
			return o;
		}else{
			return null;
		}
	}
	/**
	 * 返回此HashMap的大小
	 * @reaturn Int
	 */
	this.size=function(){
		return size;
	}
	/**
	 * 返回此map所有的value集合
	 * @return Connections
	 */
	this.values=function(){
		var arr=new Array();
		for (var i in data) {
			arr.push(data[i])
		}
		return arr;
	}
	this.getData=function(){
		return data;
	}
	
}

分享到:
评论

相关推荐

    一个基于js的HashMap

    以下是一个简单的JavaScript HashMap实现示例: ```javascript class HashMap { constructor(size = 53) { this.map = new Array(size); } hash(key) { let hash = 0; for (let i = 0; i ; i++) { hash += ...

    javascript实现的HashMap类代码

    这段代码展示了一个简单的HashMap类,其中包含了以上提到的所有基本操作。这个类使用了JavaScript对象来模拟HashMap的存储结构,其中对象的属性名作为键(key),属性值作为值(value)。 具体实现细节包括: - `...

    hashmap:受JDK 8启发的HashMap JavaScript类

    受JDK 8启发的HashMap JavaScript类 小心 这是一个进行中的工作(嗯,更像是大多数完成的工作)。 安装 使用npm: $ npm install hashmap-jdk 使用浏览器(即将提供Bower支持): 如果您想尝试一下,可以下载,它...

    详解JavaScript中Hash Map映射结构的实现_.docx

    本文将深入探讨如何在JavaScript中实现一个简单的HashMap结构,并讨论与`Object`相关的陷阱。 首先,我们来看一个简单的HashMap实现: ```javascript var hashMap = { Set: function(key, value) { this[key] = ...

    JS hashMap实例详解

    接下来,我们将详细介绍如何在JavaScript中实现一个简单的HashMap。 ### 1. HashMap的基本概念 HashMap由键(key)和值(value)组成,其中每个键都是唯一的,并且每个键都映射到一个值。通过键可以快速检索对应的...

    React_HashMap_Visualizer

    React使用JSX语法,这是一种将HTML和JavaScript结合在一起的语法糖,使得编写声明式UI变得简单。Create React App是一个官方提供的命令行工具,它提供了一种快速启动React应用的“开箱即用”体验,免去了配置构建...

    详解JavaScript中Hash Map映射结构的实现

    虽然JavaScript的内置对象`Object`可以用来模拟简单的键值对存储,但它并非一个真正的哈希映射,因为`Object`的一些特性可能导致意料之外的行为。例如,`Object`会受到原型链的影响,这在检查对象属性时可能会引入...

    JavaScript 学习 - 提高篇

    这与 Java 中的 `HashMap` 类似,但又不完全相同,因为 JavaScript 的对象具有更多特性,比如可以动态添加属性和方法。 **创建对象** 在 JavaScript 中创建对象主要有几种方式:使用 `new Object()` 构造函数、...

    base64,java与JavaScript实现

    ### 关于Base64编码及Java与JavaScript的实现 #### Base64简介 Base64是一种将二进制数据转换为ASCII字符串表示形式的方法。它主要用于处理非文本数据的存储和传输,例如图像、视频等多媒体文件。由于互联网传输...

    JavaScript编写简化了许多常见的数据结构的例子

    JavaScript的`Object`可以作为简单的哈希表使用,键通常是字符串,值可以是任何类型。但需要注意的是,由于JavaScript对象的特性,哈希表的顺序可能不一致,尤其在迭代时。 树(Tree)是一种分层数据结构,由节点和...

    JavaScript实现不同的计算机科学算法

    - **冒泡排序**:是最简单的排序算法之一,通过重复遍历数组比较相邻元素并交换位置,直至没有任何一对数字需要交换。 - **选择排序**:每次找出未排序部分的最大(或最小)元素,放到已排序部分的末尾。 - **...

    JavaScript讲解了数据结构和算法.zip

    在JavaScript中,常见的数据结构有数组(Array)、链表(LinkedList)、栈(Stack)、队列(Queue)、哈希表(HashMap)、树(Tree)和图(Graph)等。 1. **数组**:JavaScript中的数组是最基础的数据结构,可以...

    json------javascript eval()以及Example

    例如,一个简单的Struts2 Action返回JSON的示例: ```java public class MyAction extends ActionSupport { private String name; public String execute() { Map, Object> map = new HashMap(); map.put(...

    FusionCharts 下钻和单击图上某个节点调用js函数

    在示例代码中,我们看到一个`@ResponseBody`和`@RequestMapping`注解的方法,该方法返回一个包含图表配置和数据的HashMap。其中,`map1`包含了图表的标题、X轴和Y轴名称,`map3`则定义了一个数据点,包括标签、值和...

    Java直接运行JS代码

    以下是一个简单的示例,展示如何使用Nashorn引擎在Java中运行JavaScript代码: ```java import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public ...

    JAVA开发的简单购物网

    此外,还需要了解Java集合框架(如ArrayList、HashMap),以及异常处理和输入输出流等基础知识。 2. **Servlet与JSP**: 在Web开发中,Servlet是服务器端程序,用于接收和响应HTTP请求。初学者需要理解Servlet生命...

    简单的java示例网站

    同时,熟悉Java集合框架(如ArrayList、LinkedList、HashMap等)以及多线程编程也是必要的。 2. **Servlet与JSP**:Java Web开发中的两大核心技术,Servlet用于服务器端处理请求,JSP则用于生成动态网页内容。...

    简单Ajax前台后台实例

    在"简单Ajax实例"中,前端部分通常使用JavaScript或jQuery库来创建和发送Ajax请求。例如,当用户在输入框中更改商品数量时,JavaScript会监听这个事件,并调用Ajax函数。函数内部会构造一个HTTP请求,包含商品ID和新...

    Map转JSON的jar包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于阅读的特性,被广泛应用于前后端交互。当需要将Java中的Map对象转换为JSON字符串时,我们就需要用到特定的库来实现这一功能。本文将...

    简单的无刷新分页,附代码

    HashMap, String> map = new HashMap(); // 添加模拟数据到map中 // ... response.setContentType("text/xml;charset=gb2312"); out.println(map.get(currentPage).toString()); %> ``` 数据格式如下: ```...

Global site tag (gtag.js) - Google Analytics