问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JS Map 和 List 的简单实现代码

发布网友 发布时间:2022-12-30 12:05

我来回答

1个回答

热心网友 时间:2023-11-21 08:27

本篇文章是对在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]+" ";;     }; } lishixin/Article/program/Java/JSP/201311/20400
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
iOS 16.1.1值得更新升级吗 ios16.1.1正式版建议更新吗 iOS 16.1.1修复了哪些问题 ios16.1.1值得更新吗?ios 16.1.1新增内容及更新建议 iPhone 12升级iOS 16.1.1之后好用吗 iOS 16.1.1更新内容介绍 iOS 16.1正式版新增了哪些新功能?iOS 16.1正式版值得升级吗? ios 16.1正式版解决了哪些问题和BUG ...森先生是他“最好的老师” 你喜欢这样的老师吗? ... 你喜欢怀特森这样老师吗?说说你的看法.250字 jsmap能直接编辑对象吗 js 数据结构map 火焰山烤火炉遥控器怎么用 茶机电烤炉遥控器不会使用怎么使用 格力烤火炉取暖器使用方法 鞋子上air是什么意思 四季果能放在客厅养吗 请问这是什么植物?果子能吃吗? 2的2018次方加3的2018次方之和除以7的余数 2的2018次方再减去2019所得的值的各位上的数为? 下载360清理垃圾的那个 2的2018次方是多少答案 怎样清理茶杯上的茶叶 如何清理茶杯上的茶叶 途观的车型编号后三位JED表示什么意思 香港人讲jed是什么意思 茶叶里的茶垢如何清洗 茶叶里的茶垢怎么清洗 茶叶放久了如何清洗茶垢 琢磨的意思 琢磨什么意思 如何一台电脑同时登录多个?一行代码就可以搞定! 在电脑上登陆2个怎么办啊 Js中的Map对象简介 交管12123已选号待确认是什么情况? 2020版熊猫金币价格? 医学生物技术是什么? 医学生物技术是做什么?就业方向是什么?前景怎么样? 属马农历9月运势如何,2022 年运势完整版 幼儿园一楼二楼三楼窗户尺寸差10公分验收有问题吗 幼儿园一楼二楼三楼窗户尺寸不一样验收有问题吗 小米手机几块钱 小米12系列价格是多少 菠萝什么季节的水果 风水知识:化解小人的最佳道具:红花、石头 2022年虎年春节祝福语有哪些 元旦节可以玩哪些东西 元旦节适合去哪儿玩 元旦节适合去哪 元旦感言句子怎么写 风水学在环境设计中的应用 年元旦最美好的祝福语有哪些 关于windows注册表说法错误的是