`
kalogen
  • 浏览: 864517 次
  • 性别: 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> 

分享到:
评论

相关推荐

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

    map转json

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

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

    JavaScript中实现map功能代码分享

     * MAP对象,实现MAP功能   *   * 接口:   * size() 获取MAP元素个数   * isEmpty() 判断MAP是否为空   * clear() 删除MAP所有元素   * put(key, value) 向MAP中增加元素(key, value)   * ...

    js中的类似于java中的map工具对象Map.js

    js终于有了自己的Map了,类似与java的Map对象。此文件是源代码,亲测有类似于java的Map对象的类似方法:put(key,value)、get(key)、keys()、values()、size()、isEmpty()、remove(key)、clear()、element(index)、...

    js循环map 获取所有的key和value的实现代码(json)

    下面的方法一语方法二都是经过软件开发网小编测试并运行的 方法一: json格式定义 &lt;!DOCTYPE ...&lt;... &lt;...

    javascript 实现map集合

    前几天项目上想用map集合一样的东西,简单拿对象拼了一下子,今天闲的慌实现一下 大家不要见笑 代码 var Map = function (){ /************基础变量**************/ var hashmap = {}; var keys = []; var vals...

    javascript使用map

    让javascript像代码一样使用map对象吧

    【JavaScript源代码】JavaScript中Object、map、weakmap的区别分析.docx

     ECMAScript 6以前,在JavaScript中实现“键/值”式存储可以使用Object来方便高效地完成,也就是使用对象属性作为键,再使用属性来引用值。但这种实现并非没有问题,为此TC39委员会专门为“键/值”存储定义了一个...

    【JavaScript源代码】详解JS对象遍历的顺序问题.docx

    详解JS对象遍历的顺序问题  可能有些同学听过在 JavaScript 中遍历对象顺序不固定的这一说法。事实上,这个说法不是特别准确。  对待遍历顺序,对象有一套自己既定的规则,在此规则下呢,对象的遍历顺序会受插入...

    javascript实现简单的Map示例介绍

    代码如下: /* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY的...

    JS Map 和 List 的简单实现代码

    代码如下:/* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value) * remove(key) ...

    js中生成map对象的方法

    代码如下: var Map = function(){ this._entrys = new Array(); this.put = function(key, value){ if (key == null || key == undefined) { return; } var index = this._getIndex(key); if (index == -1) { var ...

    一个简单足球胜平负拆票JS代码

    1.新建了一个Map对象。 2.使用自定义的js对象。 3.使用了js的数组和对象。 4.加入了一个组合的算法。

    js代码-块级作用域 解构赋值 对象静态化 数组 函数 Map 结构 Class 模块

    js代码-块级作用域 解构赋值 对象静态化 数组 函数 Map 结构 Class 模块

    小手一敲,让JS Map现原形

    文章主要讲JS Map对象的用法和如何手写Map,非常适合初步学习了JS的同学,适当的学会手写JS源码的技能,对JS理解和面试都有很大的帮助。大多数人都知道Map方法的使用,但是在网上对Map源码实现的文章很少,希望通过...

    js解析json读取List中的实体对象示例

    1、由后台action 传给...2、前台js 中先将结果json串转成对象 代码如下: var obj = eval&#40;“(“+data+”&#41;”); 3、遍历取list 中的对象 代码如下: for(var key in obj){ //第一层循环取到各个list var

    Java代码开发斗地主游戏全代码

    用一千多行Java代码实现的斗地主游戏,后端使用的技术栈是Springboot+SpringCache+Websocket,项目中运用了Java基础及面向对象的各类技术,类、接口、对象、枚举、集合、Map、数组、排序、算法、缓存等都有使用........

    JS hashMap实例详解

    * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY的元素,成功...

    基于javascript实现的a星寻路算法源码+项目说明.zip

    工程项目是cocos create的,其他项目直接调用 /assets/Script/AutoFindPath.js下的getPath即可参数和返回值如下, 另外点对象的结构如下(x: 0, y: 0) /** * * @param {object} bron 出生点 * @param {object} ...

    js 模拟实现类似c#下的hashtable的简单功能代码

    如果在c#中,我们只要用hashtable或者dictionary根据key取value的特性,就可以很轻松地实现这个功能了。其实我们稍作处理,js也可以实现类似... 2、实现代码 代码如下: // js哈希表 function HashTable() { this.ObjArr

Global site tag (gtag.js) - Google Analytics