`
kalogen
  • 浏览: 878240 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Js实现Map对象的代码

阅读更多

<script type="text/javascript"><!--  

/**
 *  @author: kalogen

 *  @date:  2011-1-8
 *  map对象类,提供了put,get,remove,size,isEmpty等方法
 */
function Map() {
 /**
  * 构造函数
  * @param {} key
  * @param {} value
  */
 var struct = function(key, value) {
  this.key = key;
  this.value = value;
 }
 /**
  * 添加key对应的值,如果key已经存在则直接更新对应的值
  * @param {} key
  * @param {} value
  */
 var put = function(key, value) {
  for (var i = 0; i < this.arr.length; i++) {
   if (this.arr[i].key === key) {
    this.arr[i].value = value;
    return;
   }
  }
  this.arr[this.arr.length] = new struct(key, value);
 }
 /**
  * 获取key对应的值
  * @param {} key
  * @return {}
  */
 var get = function(key) {
  for (var i = 0; i < this.arr.length; i++) {
   if (this.arr[i].key === key) {
    return this.arr[i].value;
   }
  }
  return null;
 }
 /**
  * 移除key对应的值
  * @param {} key
  */
 var remove = function(key) {
  var v;
  for (var i = 0; i < this.arr.length; i++) {
   v = this.arr.pop();
   if (v.key === key) {
    continue;
   }
   this.arr.unshift(v);
  }
 }
 /**
  * 获取map对象的长度
  * @return {}
  */
 var size = function() {
  return this.arr.length;
 }
 /**
  * 判断map对象是否为空
  * @return {}
  */
 var isEmpty = function() {
  return this.arr.length <= 0;
 }
 this.arr = new Array();
 this.get = get;
 this.put = put;
 this.remove = remove;
 this.size = size;
 this.isEmpty = isEmpty;
}

// -->
</script> 

 

<script type="text/javascript"><!--  
 var map = new Map();  
 map.put("re","redhacker");  
 map.put("do","douguoqiang");  
 map.put("gq","dougq");  
 alert("map的大小为:" + map.size())  
 alert("key为re的map中存储的对象为:" + map.get("do"));
 map.remove("re");  
 alert("移除key为re的对象后,获取key为re的map中存储的对象为:" + map.get("do"));  
 alert("map移除一个元素后的大小为:" + map.size());  
 alert("map是否是一个空map:" + map.isEmpty());  
// -->
</script> 

分享到:
评论

相关推荐

    js 实现map的方式

    JavaScript中的Map对象是一种数据结构,它允许我们存储键值对,并且键可以是...通过分析和理解`jsMap.js`的代码,你可以深入理解Map对象的用法和其在实际开发中的应用场景,如存储和查找关联数据、处理复杂数据结构等。

    JavaScript实现Array(数组)和Map

    `object.js` 文件可能涉及到的是JavaScript对象的操作,虽然不是直接与Array或Map相关,但它们在JavaScript中是重要的数据结构。JavaScript对象是一种键值对的集合,键通常是字符串,但也可以是符号(Symbol)。与...

    利用js实现Map

    **JavaScript Map对象详解与实践应用** 在JavaScript的世界里,`Map`对象是一个强大的数据结构,它允许我们存储键值对,且键可以是任意类型,而不仅仅是字符串。这与原生的`Object`有着本质的区别,`Object`的键...

    js实现map用法

    JavaScript中的Map对象是ES6引入的一种新的数据结构,它提供了键值对的存储方式,与对象类似但有显著区别。Map的主要优势在于键可以是任意类型,而不仅仅是字符串,这使得它在处理复杂数据结构时非常有用。在本文中...

    map的js实现

    本篇文章将深入探讨`Map`的JS实现,并通过提供的`map.js`文件来理解其内部工作原理。 `Map`对象的主要特性包括: 1. **键的多样性**:与对象的键必须是字符串或符号不同,`Map`的键可以是任何JavaScript值。 2. **...

    JavaScript 实现Array(数组)和Map

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

    js仿java的map对象

    在JavaScript中,尽管原生没有提供与Java完全相同的Map对象,但可以通过自定义对象或使用ES6提供的Map数据结构来实现类似的功能。本篇将详细探讨如何在JavaScript中模仿Java的Map对象,以及ES6 Map的数据结构和用法...

    javascript/node.js下map对象转json对象通用代码

    map转json

    js中遍历Map对象的简单实例

    本实例将通过代码示例来演示如何在JavaScript中对Map对象进行遍历。 在遍历Map对象之前,我们需要先了解如何创建一个Map实例。可以使用Map构造函数,并且将键值对数组作为参数传递给它来创建一个新的Map对象。例如...

    JS自定义对象实现Java中Map对象功能的方法

    本文实例讲述了JS自定义对象实现Java中Map对象功能的方法。分享给大家供大家参考。具体分析如下: Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象。 这里我创建一...

    js中遍历Map对象的方法

    JavaScript中的Map对象是一种存储键值对的集合,其中的键可以是任何数据类型。Map对象提供了一些内置的方法来进行操作,包括遍历。遍历Map对象是一种常用的操作,它允许开发者访问Map中的每个键值对。以下是在...

    js遍历map javaScript遍历map的简单实现

    标题中提到的“js遍历map javaScript遍历map的简单实现”指的是如何在JavaScript中简单实现对Map对象的遍历。在JavaScript中,Map对象是一种存储键值对的结构,类似于Object,但是主要区别在于Map允许任何类型的值...

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

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

    js中Map应用

    在JavaScript中,`Map`对象是一种内置的数据结构,它保存键值对,并且可以按插入顺序记住元素。与普通的JavaScript对象不同的是,`Map`的键可以是任何类型的值(不仅仅是字符串或符号)。本文将详细介绍如何在...

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

    在JavaScript的ES6版本中引入了Map对象,以弥补对象作为哈希表的一些不足,如对象的键总是字符串或者Symbol类型。本文将深入探讨如何使用JavaScript实现Map,以及它的特性和优势。 首先,创建一个Map对象非常简单,...

    JavaScript中实现map功能代码分享

    在JavaScript中,Map数据结构是一种用于存储键值对的数据...在某些情况下,使用原生的JavaScript Map对象可能是更合适的选择,因为它提供了完整的ECMAScript标准支持,并且在现代浏览器和Node.js环境中具有良好的性能。

    Java直接运行JS代码

    在Java编程环境中,有时我们需要与JavaScript交互,例如执行一些动态脚本...开发者可以轻松地在Java程序中执行JavaScript代码,调用JavaScript函数,甚至传递Java对象到JavaScript环境,从而实现两者之间的协同工作。

    js Map 工具类 MapUtil

    在JavaScript的世界里,`Map`对象是一个非常重要的数据结构,它允许我们存储键值对,其中键可以是任何类型的...在阅读`MapUtil.js`源码时,可以关注这些方法的实现细节,理解它们如何优化和扩展了原生`Map`对象的能力。

    javascript 核心对象代码

    在这个"javascript 核心对象代码"的资料中,我们将会深入探讨JavaScript的核心对象,包括它们的用途、工作原理以及如何在实际编程中应用。 1. **全局对象**:全局对象是JavaScript中的一个重要概念,它包含了所有...

Global site tag (gtag.js) - Google Analytics