首页 / JAVASCRIPT / JS 封装 Map对象
JS 封装 Map对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JS 封装 Map对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2670字,纯文字阅读大概需要4分钟。
内容图文
/* * 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; }; }
本文出自 “IT技术产业与生活” 博客,请务必保留此出处http://msuccessful.blog.51cto.com/10175231/1672394
原文:http://msuccessful.blog.51cto.com/10175231/1672394
内容总结
以上是互联网集市为您收集整理的JS 封装 Map对象全部内容,希望文章能够帮你解决JS 封装 Map对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】