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

JS写一个map

 
阅读更多
  1. /**  
  2.  * FastMap用来处理类似于java中的Map的脚本对象,这里是FastMap的构造函数  
  3.  */  
  4. var FastMap = function() {   
  5.     this.version = '1.0';       //版本标识   
  6.     this.buf = new Object();    //缓存Key和Value的对象   
  7. }   
  8.   
  9. /**  
  10.  * FastMap的类方法,提供了类似Map的add、get、remove,另外提供了cut方法等  
  11.  */  
  12. FastMap.prototype = {   
  13.     /**  
  14.      * 添加键值对  
  15.      *   
  16.      * @param {String} sKey 键  
  17.      * @param {Object} oValue 值  
  18.      */  
  19.     add: function(sKey, oValue) {   
  20.         this.buf[sKey] = oValue;   
  21.     },   
  22.   
  23.     /**  
  24.      * 通过键取得值  
  25.      *   
  26.      * @param {Object} sKey 键  
  27.      */  
  28.     get: function(sKey) {   
  29.         return this.buf[sKey];   
  30.     },   
  31.        
  32.     /**  
  33.      * 移除sKey所对应的属性  
  34.      *   
  35.      * @param {String} sKey  
  36.      */  
  37.     remove: function(sKey) {   
  38.         delete (this.buf[sKey]);   
  39.     },   
  40.        
  41.     /**  
  42.      * 返回sKey对应的对象后移除sKey属性  
  43.      *   
  44.      * @param {Object} sKey  
  45.      */  
  46.     cut: function(sKey) {   
  47.         var buf = this.buf;   
  48.         var result = buf[sKey];   
  49.         delete buf[sKey];   
  50.         return result;   
  51.     },   
  52.        
  53.     /**  
  54.      * 返回Map中的缓存对象,  
  55.      * 得到这个对象后用for(var ele in buf){ someCode }去循环所有属性,在其中有_hashCode属性,要注意!  
  56.      */  
  57.     getBuf: function(){   
  58.         return this.buf;   
  59.     },   
  60.        
  61.     /**  
  62.      * 得到buf中的对象数目  
  63.      */  
  64.     size: function() {   
  65.         var buf = this.buf;   
  66.         var i = -1;     //有_hashCode属性,所以从-1开始   
  67.         for(var ele in buf) {   
  68.             i ++;   
  69.         }   
  70.         return i;   
  71.     },   
  72.        
  73.     /**  
  74.      * toString方法  
  75.      */  
  76.     toString: function() {   
  77.         var b = this.buf;   
  78.         var buf = [];   
  79.         for(var ele in b) {   
  80.             buf.push('Key: ');   
  81.             buf.push(ele);   
  82.             buf.push('  Value: ');   
  83.             buf.push(b[ele]);   
  84.             buf.push('\n');   
  85.         }   
  86.         return buf.join('');   
  87.     }   
  88. }  
分享到:
评论

相关推荐

    js模拟list和map

    javascript 模拟 java中的 List,Map js文件为 js/utils.js IE6.0 测试通过 <br>List: add(var obj) //添加一个元素 remove(var index) //删除一个元素 get(var index) //获取一个元素 remove...

    JavaScript实现Array(数组)和Map

    如果需要保持元素的顺序并且键总是数字,那么Array是一个好选择。但如果键可以是任意值,并且需要高效地查找或删除键值对,那么Map更为合适。熟练掌握这两种数据结构的用法,能帮助我们编写更高效、更易维护的...

    js-map js-map

    js map js map js map js map js map js map

    利用js实现Map

    在JavaScript的世界里,`Map`对象是一个强大的数据结构,它允许我们存储键值对,且键可以是任意类型,而不仅仅是字符串。这与原生的`Object`有着本质的区别,`Object`的键必须是字符串或符号。本文将深入探讨`Map`...

    js 实现map的方式

    例如,`Array.from(map)`可以将Map转换为数组,`new Set(map)`则可以创建一个新的Set,包含Map的所有键。 6. **弱引用**:JavaScript还提供了一种叫做WeakMap的特殊类型,它的键必须是对象,并且是弱引用,这意味着...

    js封装Map集合

    项目需要 像Java一样用js自己封装了一个Map集合 希望和大家一起分享

    js实现map用法

    例如,我们可以创建一个Map,其中键是Set,值是相关联的数据,这样可以方便地管理和查找具有特定属性的集合。 Map的源码分析也是学习JavaScript的重要部分。在Chrome或Firefox的开发者工具中,可以查看Map的实现...

    js Map对象封装

    js Map对象封装 和 java 的使用方法一样.

    小程序使用高德地图 map 导航路线规划 amap-wx.js 文件(amap-wx.js 从相关下载页面下载的 zip 文件

    (amap-wx.js 从相关下载页面下载的 zip 文件 使用场景:uniapp和小程序使用高德地图(map)可以引用这个文件,getRegeo(获取当前地址),getDrivingRoute(驾车从开始位置到终点)计算距离和时间 适合人群:前端...

    JavaScript 实现Array(数组)和Map

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

    jquery3.6.0.min.js+min.map.7z

    "jquery-3.6.0.min.map"是一个源映射文件,它记录了.min.js文件中每一行压缩后的代码对应原始未压缩源代码的位置信息。当开发者遇到错误或者需要调试.min.js文件时,浏览器可以通过.min.map文件回溯到原始源代码,...

    js Map 工具类 MapUtil

    在JavaScript的世界里,`Map`对象是一个非常重要的数据结构,它允许我们存储键值对,其中键可以是任何类型的值,而不仅仅是字符串。`MapUtil`工具类则是为了方便开发者更高效、更灵活地操作`Map`对象。下面我们将...

    js中Map应用

    通过以上介绍,我们可以看到`Map`在JavaScript中是一个非常实用的数据结构,它提供了丰富的API来处理键值对数据。无论是内置的`Map`还是自定义的实现,都可以帮助开发者更加高效地管理和操作数据。了解并熟练掌握...

    popper.min.js.map

    包含:popper.min.js.map、popper.min.js.map 其实可以直接输入网址<script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script> 中的网址另存为,或者直接复制网页代码另存为,map文件...

    javascript 中Map的使用

    - 使用数组的解构赋值,每个数组元素是一个包含两个元素的数组,分别代表键和值,如`let map = new Map([['key1', 'value1'], ['key2', 'value2']]);` 2. 存取数据: - `set(key, value)`:设置键值对。 - `get...

    超好用map类型的js

    超好用map类型的js,常用的map方法

    map的js实现

    这个简单的实现中,`Map`实例内部维护了一个数组`_data`,其中每个元素都是一个包含`key`和`value`的对象。`set`方法首先遍历数组,如果找到匹配的键,则更新对应的值;如果没有找到,就将新键值对添加到数组末尾。`...

    百度地图MAP JS

    在使用百度地图MAP JS前,首先需要在百度地图开放平台注册一个账号,并创建应用以获取API密钥。这个密钥用于验证你的请求,确保你的应用能正常调用百度地图的服务。 2. **引入JS库** 要在网页中使用百度地图API,...

    js仿java的map对象

    首先,Java的Map接口是一个集合接口,它存储键值对(key-value pairs),其中每个键都是唯一的。键可以用来检索对应的值。在JavaScript中,我们可以创建一个自定义对象来模拟这个行为。例如: ```javascript ...

    JS.CSS.map.instance.hyperlink.rar_css Map_js 地图_js map实例_js 地图_

    在提供的描述中,“JS CSS code map of the classic instance of the hyperlink”暗示了这个实例是关于如何利用JavaScript和CSS结合,创建一个带有超链接功能的地图。 JavaScript(JS)在这里起到了关键作用,它...

Global site tag (gtag.js) - Google Analytics