JS实现Map
来源:互联网 发布:linux退出系统重新登录 编辑:程序博客网 时间:2024/05/17 21:07
/** * @author haw_king * @returns {Map} */var Map = function() { };Map.prototype = {/** * 维护map对象的数组 * * @private */elements : new Array(), /** * 访问map对象内数组的接口方法 */strutsSet:function(){return this.elements;}, /** * 将指定的map复制到新map中 * * @param map */putAll : function(map) { for(var i in map){ this.put(i,map[i]); } return this;},/** * 向map中添加元素 * * @param key * @param value */put : function(key, value) {// 将对象维护到elements数组中,如果key相同,则覆盖原先的值var i = 0;if (this.containsKey(key, function(_i) {i = _i;})) {this.elements[i].value = value;}//else{}这里应该添加else{//这里是下面的代码}。勘误于此。var Struts = function(key, value) {this.key = key;this.value = value;this.getKey = function(){return this.key;};this.getValue=function(){return this.value;};};this.elements[this.elements.length] = new Struts(key, value);},/** * 是否包含指定 key * * @param {String} * key * @param {Function} * callBack * @returns {Boolean} */containsKey : function(key, callBack) {for ( var i = 0, len = this.elements.length; i < len; i++) {if (this.elements[i].key === key) {if (callBack)callBack(i);return true;}}return false;},/** * 是否包含指定的值 * @param value * @returns {Boolean} */containsValue : function(value) {for ( var i = 0, len = this.elements.length; i < len; i++) {if (this.elements[i].value === value) {return true;}}return false;},get : function(key) {for ( var i = 0, len = this.elements.length; i < len; i++) {if (this.elements[i].key === key) {return this.elements[i].value;}}return null;},remove : function(key) { var bln = false; try { for (var i = 0; i < this.elements.length; i++) { if (this.elements[i].key == key) { this.elements.splice(i, 1); return true; } } } catch (e) { bln = false; } return bln; },size : function() {return this.elements.length;},clear : function() { this.elements = [];},removeAll : function() {this.elements = [];},isEmpty:function(){return this.elements.length <= 0;}};
在Java语言中,Map的实现是靠数组和链表完成的~但是源码看了下,不是很懂,就先看了下JS中的Map实现,稍微有点领悟,现将Map实现发表于此:
- Js实现Map对象
- Js实现Map对象
- js实现Map
- JS实现MAP
- js 实现MAP方法
- JS实现Map对象
- js实现map对象
- Js实现Map功能
- Js实现Map对象
- js 实现map
- JS Map 简单实现
- JS实现Map
- JS实现Map
- Js实现Map对象
- js实现Map
- js 实现 map
- Js实现Map对象
- Js实现Map对象
- shell中curl 用户详解
- C++ 命名
- linux 修改时间 date
- Spring3.1.1 quartz1.8.6 定时器配置
- html5之本地存储—JSON对象的使用
- JS实现Map
- NOSQL简介
- 2.1 内置数据类型
- JUnit的使用和常用注解
- Excel自动换行
- 使用mysql federated引擎构建MySQL分布式数据库访问层
- SoundPlay & SoundRecord
- linux终端下isql
- Unity3D研究院之主角面朝方向一定区域内对象角度计算