`
yanghongxia9
  • 浏览: 115034 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

js的map结构实现

 
阅读更多
1.//定义map       
2.function Map()       
3.{        
4.this.container = {};        
5.}        
6.    
7.//将key-value放入map中       
8.Map.prototype.put = function(key,value){        
9.try{        
10.      
11.if(key!=null && key != "")       
12.  this.container[key] = value;        
13.    
14.}catch(e){        
15.return e;        
16.}        
17.};        
18.    
19.//根据key从map中取出对应的value       
20.Map.prototype.get = function(key){        
21.try{        
22.    
23.return this.container[key];        
24.    
25.}catch(e){        
26.return e;        
27.}        
28.};        
29.    
30.//判断map中是否包含指定的key       
31.Map.prototype.containsKey=function(key){       
32.    
33.try{       
34. for(var p in this.container)       
35. {       
36.    if(this.p==key)       
37.       return true;       
38. }       
39.    
40. return false;       
41.    
42.}catch(e){       
43. return e;       
44.}       
45.    
46.}       
47.    
48.//判断map中是否包含指定的value       
49.Map.prototype.containsValue = function(value){        
50.try{        
51.    
52.for(var p in this.container)       
53.{        
54.if(this.container[p] === value)        
55.   return true;        
56.}        
57.    
58.return false;        
59.    
60.}catch(e){        
61.return e;        
62.}        
63.};        
64.    
65.    
66.//删除map中指定的key       
67.Map.prototype.remove = function(key){        
68.try{        
69.    
70.delete this.container[key];        
71.    
72.}catch(e){        
73.return e;        
74.}        
75.};        
76.    
77.//清空map       
78.Map.prototype.clear = function(){        
79.try{        
80.delete this.container;        
81.this.container = {};        
82.    
83.}catch(e){        
84.  return e;        
85.}        
86.};        
87.    
88.//判断map是否为空       
89.Map.prototype.isEmpty = function(){        
90.      
91.if(this.keyArray().length==0)       
92.  return true;       
93.else        
94.  return false;       
95.};        
96.    
97.//获取map的大小       
98.Map.prototype.size=function(){       
99.    
100.return this.keyArray().length;       
101.}       
102.    
103.//返回map中的key值数组       
104.Map.prototype.keyArray=function(){       
105.    
106.  var keys=new Array();       
107.  for(var p in this.container)       
108.  {       
109.      keys.push(p);       
110.  }       
111.      
112.  return keys;       
113.}       
114.    
115.//返回map中的value值数组       
116.Map.prototype.valueArray=function(){       
117.     
118.  var values=new Array();       
119.  var keys=this.keyArray();       
120.  for(var i=0;i<keys.length;i++)       
121.  {       
122.     values.push(this.container[keys[i]]);       
123.  }       
124.         
125.  return values;       
126.} 
分享到:
评论

相关推荐

    javascript的Map实现(高性能)

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

    JavaScript实现Array(数组)和Map

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

    js 实现map的方式

    JavaScript中的Map对象是一种数据结构,它允许我们存储键值对,并且键可以是任何类型,而不仅仅是字符串。Map对象在JavaScript ES6版本中被引入,为处理复杂的数据关联提供了更强大的工具,尤其对于那些需要使用非...

    利用js实现Map

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

    js实现map用法

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

    map的js实现

    通过分析`map.js`文件,我们可以学习如何创建自定义数据结构以模拟JavaScript内置的`Map`行为,并了解其在实际应用中的优缺点。同时,结合测试HTML页面,我们可以更全面地理解这个实现的工作流程。

    JavaScript 实现Array(数组)和Map

    在JavaScript编程中,Array和Map是两种非常重要的数据结构,它们各自有其独特的作用和应用场景。Array主要用于存储一组有序的元素,而Map则提供了一种键值对的存储方式,适用于关联不同类型的值。 Array(数组)是...

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

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

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

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

    js中Map应用

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

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

    本文将深入探讨如何在JavaScript中实现一个简单的HashMap结构,并讨论与`Object`相关的陷阱。 首先,我们来看一个简单的HashMap实现: ```javascript var hashMap = { Set: function(key, value) { this[key] = ...

    jsMap矢量地图插件(包含全国JSON数据)

    jsMap插件通常提供丰富的API接口,允许开发者实现各种交互功能,如点击地图上的特定区域获取详细信息,自定义图层叠加,添加标记,设置热点区域,以及进行地理编码和反地理编码等。这些API使得jsMap不仅适用于静态的...

    在JavaScript中实现map对象

    ### 在JavaScript中实现Map对象 #### 一、引言 在JavaScript中,原生支持了多种数据结构,其中数组(Array)是最为常见的数据结构之一。然而,在某些应用场景下,我们可能需要一种能够根据键(key)快速查找值(value)的...

    js Map 工具类 MapUtil

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

    javascript 中Map的使用

    JavaScript中的Map对象是ES6引入的一种新的数据结构,它提供了关联键值对的存储方式,与传统的对象不同,Map的键可以是任何类型的值,包括基本类型、对象甚至是其他Map实例。这一特性使得Map在处理大量复杂数据或者...

    Java实现Map集合二级联动示例

    总之,Java中的Map集合是实现二级联动功能的良好工具,通过合理的数据结构和事件处理,可以轻松地创建出符合需求的省市联动选择器。在实际开发中,可以根据项目的具体需求进行适当的优化和扩展。

    对Map的key和value进行排序

    Map是Java集合框架中的一种数据结构,用于存储键值对。然而,在实际应用中,我们经常需要对Map中的key或value进行排序,以满足特定的业务需求。 对Map中的key进行排序 对Map中的key进行排序可以使用TreeMap来实现...

    JS实现树形结构

    本文将深入探讨如何使用JavaScript来实现树形结构,并提供实例说明。 首先,我们需要理解树形结构的基本概念。在计算机科学中,树是由节点(或称为元素)和边构成的数据结构。每个节点可以有零个或多个子节点,而...

    浅谈es6 javascript的map数据结构

    ES6 中的 Map 数据结构是 JavaScript 语言的一个重要补充,它解决了传统对象只能使用字符串作为键的局限性。Map 结构允许任何值(包括对象)作为键,提供了“值-值”的映射,这使得它成为处理非字符串键的理想选择。...

    js仿java的map对象

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

Global site tag (gtag.js) - Google Analytics