js模仿 Map集合
来源:互联网 发布:视频点播软件哪个好 编辑:程序博客网 时间:2024/06/05 06:06
/** * * 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的元素 keys() * 获取Map中所有key的数组(array) values() 获取Map中所有value的数组(array) */function Map() { this.elements = new Array(); // 获取Map元素个数 this.size = function() { return this.elements.length; }, // 判断Map是否为空 this.isEmpty = function() { return (this.elements.length < 1); }, // 删除Map所有元素 this.clear = function() { this.elements = new Array(); }, // 向Map中增加元素(key, value) this.put = function(_key, _value) { if (this.containsKey(_key) == true) { if (this.containsValue(_value)) { if (this.remove(_key) == true) { this.elements.push({ key : _key, value : _value }); } } else { this.elements.push({ key : _key, value : _value }); } } else { this.elements.push({ key : _key, value : _value }); } }, // 删除指定key的元素,成功返回true,失败返回false this.remove = function(_key) { var bln = false; try { for (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; }, // 获取指定key的元素值value,失败返回null this.get = function(_key) { try { for (i = 0; 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 < 0 || _index >= this.elements.length) { return null; } return this.elements[_index]; }, // 判断Map中是否含有指定key的元素 this.containsKey = function(_key) { var bln = false; try { for (i = 0; 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 = 0; i < this.elements.length; i++) { if (this.elements[i].value == _value) { bln = true; } } } catch (e) { bln = false; } return bln; }, // 获取Map中所有key的数组(array) this.keys = function() { var arr = new Array(); for (i = 0; i < this.elements.length; i++) { arr.push(this.elements[i].key); } return arr; }, // 获取Map中所有value的数组(array) this.values = function() { var arr = new Array(); for (i = 0; i < this.elements.length; i++) { arr.push(this.elements[i].value); } return arr; };}
0 0
- js模仿 Map集合
- js模仿java的Map集合,实现功能
- js模仿java的Map集合,实现功能
- js 模仿Java Map类
- js操作map集合
- JS实现Map集合
- js 实现map集合
- js实现map集合
- js中定义Map集合
- js中实现简单的map集合
- js读取json包装的map集合
- js中MAP集合的构造
- js操作map集合按key排序
- js中如何自定义一个map集合
- js遍历集合(Array,Map,Set)
- 使用js仿照java创建ArrayList集合和Map集合
- 用js模仿java里的Map,存入,获取,大小,遍历,移除
- 用JS模仿DataGrid
- CodeForces 658B Bear and Displayed Friends(好友在线查询)
- UGUI中使用位图艺术字(使用BMfont的两种方式)
- 搭建自己专属的vpn——选择一个vps
- 【杭电oj2015】偶数求和
- PHP代码打包---phar
- js模仿 Map集合
- UML学习(三)-----序列图
- 【杭电oj2019】数列有序!
- 关于记忆的10个惊人事实
- bzoj3437(斜率优化
- LightOJ1337_ The Crystal Maze
- TOMCAT 的 HTTPS PEM
- 【杭电oj2020】绝对值排序
- 3.HTTP响应