`

js实现map结构

 
阅读更多
//定义map     
function Map()     
{      
this.container = {};      
}      
  
//将key-value放入map中     
Map.prototype.put = function(key,value){      
try{      
    
if(key!=null && key != "")     
  this.container[key] = value;      
  
}catch(e){      
return e;      
}      
};      
  
//根据key从map中取出对应的value     
Map.prototype.get = function(key){      
try{      
  
return this.container[key];      
  
}catch(e){      
return e;      
}      
};      
  
//判断map中是否包含指定的key     
Map.prototype.containsKey=function(key){     
  
try{     
 for(var p in this.container)     
 {     
    if(this.p==key)     
       return true;     
 }     
  
 return false;     
  
}catch(e){     
 return e;     
}     
  
}     
  
//判断map中是否包含指定的value     
Map.prototype.containsValue = function(value){      
try{      
  
for(var p in this.container)     
{      
if(this.container[p] === value)      
   return true;      
}      
  
return false;      
  
}catch(e){      
return e;      
}      
};      
  
  
//删除map中指定的key     
Map.prototype.remove = function(key){      
try{      
  
delete this.container[key];      
  
}catch(e){      
return e;      
}      
};      
  
//清空map     
Map.prototype.clear = function(){      
try{      
delete this.container;      
this.container = {};      
  
}catch(e){      
  return e;      
}      
};      
  
//判断map是否为空     
Map.prototype.isEmpty = function(){      
    
if(this.keyArray().length==0)     
  return true;     
else      
  return false;     
};      
  
//获取map的大小     
Map.prototype.size=function(){     
  
return this.keyArray().length;     
}     
  
//返回map中的key值数组     
Map.prototype.keyArray=function(){     
  
  var keys=new Array();     
  for(var p in this.container)     
  {     
      keys.push(p);     
  }     
    
  return keys;     
}     
  
//返回map中的value值数组     
Map.prototype.valueArray=function(){     
   
  var values=new Array();     
  var keys=this.keyArray();     
  for(var i=0;i<keys.length;i++)     
  {     
     values.push(this.container[keys[i]]);     
  }     
       
  return values;     
} 
 

 

分享到:
评论

相关推荐

    浅谈es6 javascript的map数据结构

    本篇文章主要介绍了浅谈es6 javascript的map数据结构,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java版list-map实现 树结构 父子结构 通俗易懂

    此java类实现了对数据表的分类递归树的实现,为本人倾力之作,后期,会发布js版,敬请期待!

    javascript的Map实现(高性能)

    高性能的 javascript map实现,稳定性强的 基于 JSON的map! *同时附赠网络上搜索的map一个,用于对比。 经过笔者测试,网络上的map不如笔者所写的map性能高,容量也相差很多。

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

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

    javascript map类

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

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

    Hash Map通常在JavaScript中作为一个简单的来存储键值对的地方,不过哈希对象Object并不是一个真正的哈希映射,没Java中的Hash Map来的那么强大,well,接下来带大家详解JavaScript中Hash Map映射结构的实现

    dailyLearn:javascript,实现数据结构和算法题

    javascript实现数据结构题 使用javascript实现经典的数据结构面试题。练手和温习 水平有限,如有缺漏,望见谅! 文件结构: 1)ADT ———— 抽象数据类型(ADT) 包含:list(列表),llist(链表),queue(队列)...

    小手一敲,让JS Map现原形

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

    javascript实现贪吃蛇游戏

    js是通过 Key=event.keyCode 语句获取键盘码,再在多分支 switch 结构里分别处理。看完这些代码就会对浏览器里的键盘控制有所了解了。 当然该段代码的最大价值还是让我们了解到网页游戏的大概写法,而算法其实是最...

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

    基于javascript实现的a星寻路算法源码+项目说明.zip 关于用法 工程项目是cocos create的,其他项目直接调用 /assets/Script/AutoFindPath.js下的getPath即可参数和返回值如下, 另外点对象的结构如下(x: 0, y: 0) /**...

    JavaScript中的数据结构内存使用情况-JavaScript开发

    JavaScript比较表中的数据结构内存使用情况JavaScript ImmutableJS ...结构内存使用情况JavaScript ImmutableJS ClojureScript Kotlin GopherJS(Go)RacketScript原因(BuckleScript )Elm ElixirScript F#...

    oset:JavaScript 的有序集数据结构

    OSet 是一个非常小的 JavaScript 库,提供有序的 set/map 数据结构,即提供 set/map 功能的数据结构,其中保留了项目的插入顺序。 如果应该持有一组项目,这些类型的数据结构很重要,并且能够以特定顺序对项目进行...

    js-ipld-hashmap:一个关联数组 Map 类型的数据结构,用于构建在 IPLD 上的非常大的分布式数据集

    一个关联数组 Map 类型的数据结构,用于构建在上的非常大的分布式数据集。 此 JavaScript 实现符合,该描述了一种 HAMT 算法,用于使用内容寻址块构建任意大小的均匀分布的关联数组。 例子 import fs from 'fs/...

    leetcode第321题-javascript-tavascript:技术面试数据结构与算法练习题

    第321题Javascript 面试问题 集.js 实现 Set 及其功能 地图.js 实现 Map 及其功能 堆栈.js 实现 Stack 及其功能 队列.js 实现Queue及其功能 链表.js 实现链表及其功能 程序.js 此文件包含有助于更好地理解语言语法的...

    enmap:具有其他实用程序方法的增强的Map结构

    答:Enmap是带有其他实用程序方法的Javascript Map()数据结构。 它最初是Discord.js Collections的直接复制品,但自从其创建以来,其发展已远远超出了仅那些方法。 问:什么是“持久性”? 答:通过使用具有...

    tiled-to-godot-export:用于以Godot格式导出Tilemap和Tileset的Tiled插件

    有关Godot的Tilemap结构的更多信息,可以在这里找到: 我还做了一个简单的图例,解释了tilemap中的tile编码。平铺扩展可以使用JavaScript扩展Tiled。 脚本可用于实现自定义地图格式,自定义动作和新工具。 脚本还...

    小程序基于Map组件实现路线规划

    网页端是引入官方提供的JS库文件,然后根据api文档提供的接口调用相关接口,路线自动会渲染在页面上,而小程序这个则需要我们自己去处理路线数据,组装成小程序能识别的数据结构。下面将本人实现过程中的总结汇报给...

    重载toString实现JS HashMap分析

    用过Java的都知道,里面有个功能强大的数据结构——HashMap,它能提供键与值的对应访问。不过熟悉JS的朋友也会说,JS里面到处都是hashmap,因为每个对象都提供了map[key]的访问形式。

    JavaScript-Algorithm-Training:巩固前端基础知识,了解框架实现原理,数据结构与算法训练

    和笔者一同巩固前端基础知识,了解并熟悉框架实现原理,数据结构与算法训练吧~ Algorithm-training JavaScript-training 实现 Array.prototype.reduce 方法 编程题:实现一个 add 方法 编程题:不产生新数组,删除...

Global site tag (gtag.js) - Google Analytics