知识大全 JS Map 和 List 的简单实现代码

Posted 元素

篇首语:古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JS Map 和 List 的简单实现代码相关的知识,希望对你有一定的参考价值。

JS Map 和 List 的简单实现代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

本篇文章是对在JS中Map和List的简单实现代码进行了详细的分析介绍 需要的朋友参考下   复制代码 代码如下: /*  * MAP对象 实现MAP功能  *  * 接口  * size()     获取MAP元素个数  * isEmpty()    判断MAP是否为空  * clear()     删除MAP所有元素  * put(key value)   向MAP中增加元素(key value)  * remove(key)    删除指定KEY的元素 成功返回True 失败返回False  * get(key)    获取指定KEY的元素值VALUE 失败返回NULL  * element(index)   获取指定索引的元素(使用element key element value获取KEY和VALUE) 失败返回NULL  * containsKey(key)  判断MAP中是否含有指定KEY的元素  * containsValue(value) 判断MAP中是否含有指定VALUE的元素  * values()    获取MAP中所有VALUE的数组(ARRAY)  * keys()     获取MAP中所有KEY的数组(ARRAY)  *  * 例子  * var map = new Map();  *  * map put("key" "value");  * var val = map get("key")  * ……  *  */ function Map()     this elements = new Array();     //获取MAP元素个数     this size = function()         return this elements length;     ;     //判断MAP是否为空     this isEmpty = function()         return (this elements length < );     ;     //删除MAP所有元素     this clear = function()         this elements = new Array();     ;     //向MAP中增加元素(key value)     this put = function(_key _value)         this elements push(             key : _key             value : _value         );     ;     //删除指定KEY的元素 成功返回True 失败返回False     this remove = function(_key)         var bln = false;         try             for (i = ; i < this elements length; i++)                 if (this elements[i] key == _key)                     this elements splice(i );                     return true;                                     catch (e)             bln = false;                 return bln;     ;     //获取指定KEY的元素值VALUE 失败返回NULL     this get = function(_key)         try             for (i = ; i < this elements length; i++)                 if (this elements[i] key == _key)                     return this elements[i] value;                                     catch (e)             return null;             ;     //获取指定索引的元素(使用element key element value获取KEY和VALUE) 失败返回NULL     this element = function(_index)         if (_index < || _index >= this elements length)             return null;                 return this elements[_index];     ;     //判断MAP中是否含有指定KEY的元素     this containsKey = function(_key)         var bln = false;         try             for (i = ; i < this elements length; i++)                 if (this elements[i] key == _key)                     bln = true;                                     catch (e)             bln = false;                 return bln;     ;     //判断MAP中是否含有指定VALUE的元素     this containsValue = function(_value)         var bln = false;         try             for (i = ; i < this elements length; i++)                 if (this elements[i] value == _value)                     bln = true;                                     catch (e)             bln = false;                 return bln;     ;     //获取MAP中所有VALUE的数组(ARRAY)     this values = function()         var arr = new Array();         for (i = ; i < this elements length; i++)             arr push(this elements[i] value);                 return arr;     ;     //获取MAP中所有KEY的数组(ARRAY)     this keys = function()         var arr = new Array();         for (i = ; i < this elements length; i++)             arr push(this elements[i] key);                 return arr;     ; 复制代码 代码如下: /**  * js实现list  *  */ function List()     this value = [];     /* 添加 */     this add = function(obj)         return this value push(obj);     ;     /* 大小 */     this size = function()         return this value length;     ;     /* 返回指定索引的值 */     this get = function(index)         return this value[index];     ;     /* 删除指定索引的值 */     this remove = function(index)         this value splice(index );         return this value;     ;     /* 删除全部值 */     this removeAll = function()         return this value = [];     ;     /* 是否包含某个对象 */     this constains = function(obj)         for ( var i in this value)             if (obj == this value[i])                 return true;             else                 continue;                             return false;     ;     /* 是否包含某个对象 */     this getAll = function()         var allInfos = ;         for ( var i in this value)             if(i != (value length ))                 allInfos += this value[i]+" ";             else                 allInfos += this value[i];                             alert(allInfos);         return allInfos += this value[i]+" ";;     ; cha138/Article/program/Java/JSP/201311/20400

相关参考