//测试可用
/*
002
* MAP对象,实现MAP功能
003
*
004
* 接口:
005
* size() 获取MAP元素个数
006
* isEmpty() 判断MAP是否为空
007
* clear() 删除MAP所有元素
008
* put(key, value) 向MAP中增加元素(key, value)
009
* remove(key) 删除指定KEY的元素,成功返回True,失败返回False
010
* get(key) 获取指定KEY的元素值VALUE,失败返回NULL
011
* element(index) 获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
012
* containsKey(key) 判断MAP中是否含有指定KEY的元素
013
* containsValue(value) 判断MAP中是否含有指定VALUE的元素
014
* values() 获取MAP中所有VALUE的数组(ARRAY)
015
* keys() 获取MAP中所有KEY的数组(ARRAY)
016
*
017
* 例子:
018
* var map = new Map();
019
*
020
* map.put("key", "value");
021
* var val = map.get("key")
022
* ……
023
*
024
*/
function Map() {
this.elements = new Array();
//获取MAP元素个数
this.size = function() {
return this.elements.length;
}
//判断MAP是否为空
this.isEmpty = function() {
return (this.elements.length < 1);
}
//删除MAP所有元素
this.clear = function() {
this.elements = new Array();
}
//向MAP中增加元素(key, value)
this.put = function(_key, _value) {
this.elements.push( {
key : _key,
value : _value
});
}
//删除指定KEY的元素,成功返回True,失败返回False
this.remove = function(_key) {
var bln = false;
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
this.elements.splice(i, 1);
return true;
}
}
} catch (e) {
bln = false;
}
return bln;
}
//获取指定KEY的元素值VALUE,失败返回NULL
this.get = function(_key) {
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
return this.elements[i].value;
}
}
} catch (e) {
return null;
}
}
//获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
this.element = function(_index) {
if (_index < 0 || _index >= this.elements.length) {
return null;
}
return this.elements[_index];
}
//判断MAP中是否含有指定KEY的元素
this.containsKey = function(_key) {
var bln = false;
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
bln = true;
}
}
} catch (e) {
bln = false;
}
return bln;
}
//判断MAP中是否含有指定VALUE的元素
this.containsValue = function(_value) {
var bln = false;
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].value == _value) {
bln = true;
}
}
} catch (e) {
bln = false;
}
return bln;
}
//获取MAP中所有VALUE的数组(ARRAY)
this.values = function() {
var arr = new Array();
for (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].value);
}
return arr;
}
//获取MAP中所有KEY的数组(ARRAY)
this.keys = function() {
var arr = new Array();
for (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].key);
}
return arr;
}
this.getTopArray = function(){
return this.elements;
}
}
分享到:
相关推荐
在JavaScript中,HashMap是一种数据结构,它允许我们通过键(key)来存储和检索值(value),类似于对象,但提供了一种更高效的方式来处理大量数据。JavaScript原生并不支持HashMap,但开发者可以通过自定义类来实现...
在JavaScript中,HashMap是一种常用的键值对存储结构,它提供了快速的插入、删除和查找操作。JavaScript本身并不直接支持HashMap,但我们可以利用对象(Object)的特性来模拟HashMap的实现。这篇博客“基于...
在JavaScript中,HashMap是一种数据结构,它存储键值对,并且通过键来快速查找值。虽然JavaScript原生的`Map`对象提供了类似的功能,但在某些场景下,开发者可能需要自定义HashMap来满足特定的需求,例如优化性能...
javaScript模拟的HashMap数据结构,可以方便的put和get。几乎和Java中HashMap类的功能一模一样。非常好用的!
在JavaScript中,哈希映射(HashMap)是一种数据结构,用于高效地存储和检索键值对。虽然JavaScript的内置对象`Object`可以被用来模拟哈希映射的行为,但它并不是一个标准的哈希表,因此可能会导致一些潜在问题。...
Javascript LinkedHashMap 该实用程序可利用Javascript Object的功能作为哈希图,并为您提供插入顺序。 如果您需要通过键随机访问一个值,但又需要知道谁是您的直接邻居,则很有用。 旋转木马。
模拟java中的HashMap类js类对象,可以与js的Array类对象配合使用
JavaScript中的HashMap并不是内置的数据结构,但在许多开发场景中,我们需要实现类似Java中HashMap的功能,用于存储键值对数据。在JavaScript中,我们通常使用对象(Object)来模拟HashMap的行为,因为对象的属性名...
用js代码实现java中hashmap 的所有功能
JavaScript中的Hash Map是一种数据结构,用于高效地存储和检索键值对。虽然JavaScript的内置对象`Object`可以用来模拟简单的键值对存储,但它并非一个真正的哈希映射,因为`Object`的一些特性可能导致意料之外的行为...
标题所揭示的知识点是关于如何使用JavaScript实现一个自定义的HashMap类。HashMap是一种常见的数据结构,广泛用于存储键值对,它允许快速的查找和更新。在计算机编程中,使用类似于Java或JavaScript这样的语言实现...
`HashMap`作为一种常见的数据结构,它在JavaScript中的应用广泛,特别是在处理大量数据时,可以提供比原生对象更快的查找、添加和删除操作。`HashMap`是基于键值对存储的数据结构,其核心特性是通过哈希函数快速定位...
HashMap类在Java编程...在阅读《HashMap1.js》和《HashMap.js》这两个文件时,可以深入分析其JavaScript版本的HashMap实现,虽然与Java版本可能有所不同,但基本的哈希映射原理是相通的,有助于拓宽对哈希表的理解。
本文将探讨如何利用JavaScript和Java中的HashMap(在JavaScript中,我们可以使用类似的数据结构,如`Map`)来消除`<select>`中的重复值。 首先,让我们了解HashMap或Map数据结构。HashMap是Java中的一种集合类,它...
适用于JavaScript的HashMap类 安装 使用 : $ npm install hashmap 使用凉亭: $ bower install hashmap 您可以从下载最新的稳定版本。 如果您喜欢冒险,可以下载,它通常是稳定的。 要运行测试: $ npm test ...
backbee / js-hashmap JavaScript哈希图实现##安装:bower install bb-js-hashmap --save ##特性: HashMap . length 返回HashMap对象中键/值对的数量。 HashMap . size 返回HashMap对象中键/值对的数量。 ## ...
受JDK 8启发的HashMap JavaScript类 小心 这是一个进行中的工作(嗯,更像是大多数完成的工作)。 安装 使用npm: $ npm install hashmap-jdk 使用浏览器(即将提供Bower支持): 如果您想尝试一下,可以下载,它...
JavaScript中的HashMap是一种基于键值对的集合,它允许开发者存储和操作键值对数据结构。在JavaScript中,虽然ES6引入了Map对象,但在ES6之前,开发者通常需要手动实现HashMap功能。接下来,我们将详细介绍如何在...
本篇文章将深入探讨JavaScript中的HashMap、Set和ArrayList等集合类的实现,并与Java中的相应概念进行对比,帮助开发者更好地理解和应用这些数据结构。 **1. HashMap** 在Java中,HashMap是一个散列映射容器,它...