function HashMap() {
/** 存放键的数组(遍历用到) */
this.keys = [];
/** 存放数据 */
this.map = {};
Array.prototype.remove = function(s) {
for (var i = 0; i < this.length; i++) {
if (s == this[i])
this.splice(i, 1);
}
};
/**
* 放入一个键值对
* @param {String} key
* @param {Object} value
*/
this.put = function(key, value) {
if(this.map[key] == null){
this.keys.push(key);
}
this.map[key] = value;
};
/**
* 获取某键对应的值
* @param {String} key
* @return {Object} value
*/
this.get = function(key) {
return this.map[key];
};
/**
* 删除一个键值对
* @param {String} key
*/
this.remove = function(key) {
this.keys.remove(key);
this.map[key] = null;
};
/**
* 遍历Map,执行处理函数
*
* @param {Function} 回调函数 function(key,value,index){..}
*/
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.map[k],i);
}
};
/**
* 获取键值数组(类似Java的entrySet())
* @return 键值对象{key,value}的数组
*/
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.map[i]
};
}
return entrys;
};
/**
* 判断Map是否为空
*/
this.isEmpty = function() {
return this.keys.length == 0;
};
/**
* 获取键值对数量
*/
this.size = function(){
return this.keys.length;
};
/**
* 重写toString
*/
this.toString = function(){
var s = "{";
for(var i=0;i<this.keys.length;i++,s+=','){
var k = this.keys[i];
s += k+"="+this.map[k];
}
s+="}";
return s;
};
};
分享到:
相关推荐
下面我们将详细讨论如何在JavaScript中创建一个基于js的HashMap以及它的相关知识点。 首先,HashMap的核心在于其内部实现的哈希函数,它能将键转换为唯一的哈希码,使得我们可以快速定位到存储的值。在JavaScript中...
在JavaScript中,HashMap是一种常用的键值对存储结构,它提供了快速的插入、删除和查找操作。...通过阅读和理解HashMap.js文件中的源码,开发者可以更好地掌握JavaScript的底层原理,并在实际项目中灵活应用。
模拟java中的HashMap类js类对象,可以与js的Array类对象配合使用
用js代码实现java中hashmap 的所有功能
在JavaScript中,HashMap是一种数据结构,它存储键值对,并且通过键来快速查找值。虽然JavaScript原生的`Map`对象提供了类似的功能,但在某些场景下,开发者可能需要自定义HashMap来满足特定的需求,例如优化性能...
JavaScript中的HashMap是一种基于键值对的集合,它允许开发者存储和操作键值对数据结构。在JavaScript中,虽然ES6引入了Map对象,但在ES6之前,开发者通常需要手动实现HashMap功能。接下来,我们将详细介绍如何在...
在描述中提到的"js版java HashMap"可能是指一个JavaScript实现的HashMap类,它模仿了Java中的HashMap数据结构,提供了更高效和灵活的操作。Java的HashMap是一个基于哈希表的Map接口实现,提供快速的插入、删除和查找...
javaScript模拟的HashMap数据结构,可以方便的put和get。几乎和Java中HashMap类的功能一模一样。非常好用的!
本文将探讨如何利用JavaScript和Java中的HashMap(在JavaScript中,我们可以使用类似的数据结构,如`Map`)来消除`<select>`中的重复值。 首先,让我们了解HashMap或Map数据结构。HashMap是Java中的一种集合类,它...
JavaScript中的Hash Map是一种数据结构,用于高效地存储和检索键值对。虽然JavaScript的内置对象`Object`可以用来模拟简单的键值对存储,但它并非一个真正的哈希映射,因为`Object`的一些特性可能导致意料之外的行为...
HashMap类在Java编程...在阅读《HashMap1.js》和《HashMap.js》这两个文件时,可以深入分析其JavaScript版本的HashMap实现,虽然与Java版本可能有所不同,但基本的哈希映射原理是相通的,有助于拓宽对哈希表的理解。
用过Java的都知道,里面有个功能强大的数据结构——HashMap,它能提供键与值的对应访问。不过熟悉JS的朋友也会说,JS里面到处都是hashmap,因为每个对象都提供了map[key]的访问形式。
`HashMap`作为一种常见的数据结构,它在JavaScript中的应用广泛,特别是在处理大量数据时,可以提供比原生对象更快的查找、添加和删除操作。`HashMap`是基于键值对存储的数据结构,其核心特性是通过哈希函数快速定位...
backbee / js-hashmap JavaScript哈希图实现##安装:bower install bb-js-hashmap --save ##特性: HashMap . length 返回HashMap对象中键/值对的数量。 HashMap . size 返回HashMap对象中键/值对的数量。 ## ...
在JavaScript中,哈希映射(HashMap)是一种数据结构,用于高效地存储和检索键值对。虽然JavaScript的内置对象`Object`可以被用来模拟哈希映射的行为,但它并不是一个标准的哈希表,因此可能会导致一些潜在问题。...
JavaScript 中的 HashMap 实现。 就像在 Java 中一样,但不是。 用法 var capacity = 16 , loadFactor = 0.75 , // default value hashMap = new HashMap ( capacity , loadFactor ) ; hashMap . put ( "someKey...
Javascript LinkedHashMap 该实用程序可利用Javascript Object的功能作为哈希图,并为您提供插入顺序。 如果您需要通过键随机访问一个值,但又需要知道谁是您的直接邻居,则很有用。 旋转木马。
适用于JavaScript的HashMap类 安装 使用 : $ npm install hashmap 使用凉亭: $ bower install hashmap 您可以从下载最新的稳定版本。 如果您喜欢冒险,可以下载,它通常是稳定的。 要运行测试: $ npm test ...