`

javascript 中Map的使用

阅读更多

javascript 中Map的使用

 

/*
 * MAP对象,实现MAP功能
 *
 * 接口:
 * size()     获取MAP元素个数
 * isEmpty()    判断MAP是否为空
 * clear()     删除MAP所有元素
 * put(key, value)   向MAP中增加元素(key, value) 
 * remove(key)    删除指定KEY的元素,成功返回True,失败返回False
 * get(key)    获取指定KEY的元素值VALUE,失败返回NULL
 * element(index)   获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
 * containsKey(key)  判断MAP中是否含有指定KEY的元素
 * containsValue(value) 判断MAP中是否含有指定VALUE的元素
 * values()    获取MAP中所有VALUE的数组(ARRAY)
 * keys()     获取MAP中所有KEY的数组(ARRAY)
 *
 * 例子:
 * var map = new Map();
 *
 * map.put("key", "value");
 * var val = map.get("key")
 * ……
 *
 */
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;
	};
}

 

 

 

 

将地址栏中的字符转换成Map对应

 

/*
 * 使用方法
 * 
 * var aa="name=张三&age=13&sex=男"; 
 * var map =stringToMap(aa);
 * alert(map.get("name")); alert(map.keys());
 * .....
 */
function stringToMap(str) {
	var map = new Map();
	var arr = str.split("&");
	for ( var i = 0; i < arr.length; i++) {
		var aa = arr[i].split("=");
		map.put(aa[0], aa[1]);
	}
	return map;
}

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    自定义javascript的Map类

    自定义javascript的Map类,使用习惯完全依据于java的map使用习惯编写,java中map的用法基本一样,导入包即可使用

    gmap.rar_GMAP_javascript_map_map javascript_map offline

    标题中的“gmap.rar_GMAP_javascript_map_map javascript_map offline”揭示了这个压缩包内容是关于Google Maps API的JavaScript版本,特别强调了可以离线使用的特性。这表明它可能包含了一套本地化的、用于在没有...

    JavaScript实现Array(数组)和Map

    这篇文章将深入探讨这两个概念,以及如何在实际开发中使用它们。 首先,Array是JavaScript中最基础的数据结构之一,它允许我们存储一组有序的元素。数组支持索引访问,这意味着我们可以通过索引来获取或修改数组中...

    在JavaScript中实现map对象

    - `size()`:返回Map中的元素数量。 - `isEmpty()`:判断Map是否为空。 - `clear()`:清空Map的所有元素。 - `put(key, value)`:向Map中添加或更新键值对。 - `remove(key)`:移除指定键的元素,并返回操作结果。 -...

    javascript的Map实现(高性能)

    在JavaScript中,`Map`是一种内置的数据结构,用于存储键值对。相比于对象,`Map`的优势在于它可以使用任何类型的值作为键,包括对象。在本文中,我们将深入探讨一种高性能的JavaScript `Map`实现,它基于JSON,具有...

    javascript(map功能)

    * put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY的元素,成功返回True,失败返回False * get(key) 获取指定KEY的元素值VALUE,失败返回NULL * element(index) 获取指定索引的元素...

    javascript Map对象 原型 插件

    javascript Map原型,对象,实现javascript中的Map数据类型功能

    map-example.zip_html5_javascript_map

    在本项目中,“map-example.zip_html5_javascript_map”是一个包含使用HTML5和JavaScript实现的网页动态地图的压缩包。这个项目旨在展示如何利用这两种技术创建交互式地图应用,为用户提供丰富的地理信息可视化体验...

    javascript实现map功能极其方便

    javascript实现map,极其方便,可在需要当前页处理多数据时使用

    JavaScript中Foreach和Map

    在JavaScript中,`forEach`和`map`是两种常见的数组迭代方法,它们允许开发者遍历数组的每一个元素。虽然它们有相似之处,但也有明显的差异,理解这些差异可以帮助我们更有效地编写代码。 首先,让我们来看一下`...

    JavaScript Array map.docx

    在JavaScript中,`Array.prototype.map()` 是一种非常实用的方法,用于创建一个新数组,其结果是调用提供的函数处理原数组的每一个元素。此方法不改变原数组,而是返回一个新的数组。 #### 二、基本用法与定义 `...

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

    总结来说,JavaScript中的HashMap实现需要注意对象原型链的影响,使用`hasOwnProperty`来检查对象自身属性,以及通过创建无原型的裸对象来避免潜在问题。通过这种方式,可以创建一个更高效、更可控的键值对存储结构...

    Javascript 中类似Map集合的实现键值对

    在JavaScript中,`Map`集合是一个内置的数据结构,用于存储键值对,它与对象不同,因为对象的键必须是字符串或符号,而`Map`则可以使用任何可哈希的值作为键。这篇博客文章可能探讨了如何通过自定义方式实现一个类似...

    js中Map应用

    本文将详细介绍如何在JavaScript中使用`Map`进行添加、删除、修改等操作。 #### Map的基本概念 `Map`对象是一种可迭代的容器,能够存储任何类型的键值对,并保持键值对的原始插入顺序。`Map`对象提供了很多内置的...

    JavaScript 实现Array(数组)和Map

    在`map.js`文件中,可能会有对Map的实现或扩展,比如添加一个`forEach`方法遍历Map的所有键值对,或者一个`size`属性获取Map中的元素数量。 `object.js`文件可能包含与Object相关的辅助函数,比如深拷贝、属性检查...

    classMap的使用

    接下来,我们将详细探讨`classMap`的使用、它的功能以及如何在JavaScript中实现类似的数据结构。 首先,`classMap`可能是一个自定义的数据类型,用于模拟Java或C#中的映射(Map)概念,它允许我们将一个特定的键...

    用javaScript实现的map,经过测试,很好用

    1. **set(key, value)**:向Map中添加一个键值对。如果键已经存在,其对应的值会被更新。 2. **get(key)**:根据键获取值。如果键不存在,返回undefined。 3. **has(key)**:检查Map中是否存在指定的键。 4. **...

    javascript map类

    javascript map类。类中有相应demo,在javascript中实现Map的一个类,包括map中对应的一些数据结构相关算法。

    利用js实现Map

    在JavaScript中,虽然已经有了内置的`Map`,但理解其实现原理对我们学习和使用这个数据结构大有裨益。下面是一个简单的`Map`实现示例: ```javascript class SimpleMap { constructor() { this.store = []; } ...

Global site tag (gtag.js) - Google Analytics