我从网上找了一些资料 如何实现javascript中的map 集合
注明:此代码也是从网上搜集过来的并且将其稍微改进了点,如有雷同请勿喷.
很感谢 提供基础代码的人.希望看到的人也能将其更加晚上然后共享给大家;
进入主题:代码如下
var Map = function() { this.elements = new Array(); this.size = function() { return this.elements.length; } this.isEmpty = function() { return (this.elements.length < 1); } this.clear = function() { this.elements.length = 0; } this.put = function(_key, _value) { this.elements.push( { key : _key, value : _value }); } this.remove = function(_key) { try { for ( var i = 0; i < this.size(); i++) { if (this.elements[i].key == _key) this.elements.splice(i, 1); return true; } } catch (e) { return false; } return false; } this.get = function(_key) { try { for ( var i = 0; i < this.size(); i++) { if (this.elements[i].key == _key) { var _value = this.elements[i].value; return _value; } } } catch (e) { return null; } return null; } this.containsKey=function(_key){ try { for ( var i = 0; i < this.size(); i++) { if (this.elements[i].key == _key) { return true; } } } catch (e) { return false; } return false; } this.getValues=function(){ var values=new Array(); try { for ( var i = 0; i < this.size(); i++) { values.push(this.elements[i].key); } } catch (e) { alert("Can not get Map Values ! {1}"+e.message); return null; } return values; } this.getKeys=function(){ var keys=new Array(); try { for ( var i = 0; i < this.size(); i++) { keys.push(this.elements[i].values); } } catch (e) { alert("Can not get Map Keys ! {1}"+e.message); return null; } return keys; } this.mapStr=function(){ return this.elements.toString(); } }
相关推荐
JavaScript对象是一种键值对的集合,键通常是字符串,但也可以是符号(Symbol)。与数组相比,对象更适合关联数据,因为键可以是任意的,而不仅仅是数字。 `test.html` 和 `使用说明.txt` 可能是用来测试这些...
Map是ES6引入的一种新的集合类型,它与对象类似,也是键值对的集合,但键的范围更广,可以是任意类型,而不仅仅是字符串。Map提供了更强大的键管理功能,比如可以使用迭代器遍历Map的键值对,或者通过size属性获取...
`put`方法用于在Map集合中添加新的键值对。它首先检查传入的`key`是否已经存在于`entries`数组中,如果存在,则不执行添加操作;如果不存在,则创建一个新的`Entry`对象并将其添加到数组中。 `get`方法用于根据给定...
本文主要分享了如何使用JavaScript实现类似Map的数据结构。在JavaScript中,虽然ES6标准已经包含了一个Map的实现,但是在早期版本中,并没有直接提供Map对象。因此,开发者们经常需要自己实现这样的数据结构。文章...
JavaScript中的Map对象是ES6引入的一种新的数据结构,它提供了键值对的存储方式,与对象类似但有显著区别。Map的主要优势在于键可以是任意类型,而不仅仅是字符串,这使得它在处理复杂数据结构时非常有用。在本文中...
JavaScript集合是编程中的一种数据结构,它在JavaScript中主要指的是Array、Map、Set这三种类型。这些集合在处理数据时提供了不同的特性和功能,对于理解和掌握JavaScript编程至关重要。 首先,我们来谈谈数组...
本篇文章将深入探讨如何在JavaScript中实现HashMap以及如何进行操作。 HashMap的核心思想是通过哈希函数将键(key)映射到一个桶(bucket)中,以此实现快速存取。在JavaScript中,我们可以利用对象(object)作为...
- **`Map`**:类似于Java中的`Map`,JavaScript的`Map`提供了键值对的存储方式,支持任意类型的键。 ### 总结 通过上述介绍,我们可以看出Java集合框架非常强大和完整,提供了丰富的接口、抽象类和具体类来满足...
Map 是一个无序的键值对集合,它的键是惟一的。 Map 中的键可以是任何类型的对象。 1.4.2 常用方法 Map 接口中定义了一些常用的方法,例如: * put(K key, V value):添加键值对 * get(Object key):获取键对应的...
4. **数组和对象**:数组用于存储多个值,对象用于存储键值对。了解数组的方法(如push、pop、map、filter等)和对象的属性和方法是提升编程效率的关键。 5. **DOM操作**:JavaScript可以直接操作文档对象模型(DOM...
总结来说,为了在JavaScript中实现类似于Java Map的功能,我们可以选择自定义对象或使用ES6的Map数据结构。自定义对象简单易懂,适用于不涉及复杂操作的情况;而ES6的Map则提供了更为强大和标准的API,适用于大型...
总结,JavaScript中的Array和Map各有其特性和用途,Array适用于有序的元素集合,Map适用于键值对的存储。理解并熟练运用它们可以提高代码的效率和可读性。在实际开发中,结合源码学习和使用工具,可以更好地理解和...
在Java中,`Map`接口是一个存储键值对的集合类。它允许用户通过唯一的键来存储和检索值。Java标准库提供了多种`Map`实现,如`HashMap`、`TreeMap`等。相比之下,JavaScript原生提供了一个名为`Map`的构造函数,它也...
在JavaScript编程中,获取对象和数组的属性键值(key)和对应值(value)是一项基本操作。本文将详细介绍如何实现这一功能,并提供相应的代码示例。 首先,我们需要理解JavaScript中的对象和数组。对象是一种键值对...
对象是JavaScript的核心,它们由键值对组成,键通常是字符串,但也可以是符号。对象可以通过字面量语法创建,或者通过构造函数。原型链是JavaScript实现继承的一种方式,每个对象都有一个proto属性指向其构造函数的...
在Java中,Map是一种集合,用来存储Key-Value键值对的容器.根据键得到值,因此不允许键重复(重复了的覆盖),但允许值重复.JavaScript中的对象特性,就是不允许有相同的属性存在,和Java的Map非常的相似,所以可以利用这个...
在JavaScript中,Map对象是一种可变的键值对集合,其中键可以是任何类型,而不仅仅是字符串。Map对象提供了一种高效的方式存储和检索数据,同时也允许我们获取Map中的元素数量,也就是key的数量。本篇文章将详细介绍...
在JavaScript中,Map是一种对象类型,用于存储键值对集合。然而,在早期的JavaScript版本中,并没有内建的Map对象。因此,开发者常常需要自己实现类似Map的功能。这通常涉及到创建一个自定义对象,并为它添加用于...
在JavaScript中,原生的`Map`对象虽然提供了丰富的功能,但其操作方式与Java中的`Map`有所不同,不那么直观。为了使习惯于Java开发的程序员在JS中也能便捷地操作映射数据结构,我们可以创建一个名为`UtilMap`的对象...