链接:http://www.jb51.net/article/85111.htm
JS hashMap实例详解
作者:囧侠 字体:[我要评论
这篇文章主要介绍了JS hashMap实例详解的相关资料,包括删除键值、获取键值的相关知识,非常不错具有参考借鉴价值,需要的朋友一起看看吧
Hashmap是一种非常常用的、应用广泛的数据类型。本文通过实例代码给大家介绍js hashMap的相关知识,具体代码内容如下所示:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 | /** * 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 hashmap() { /** * 存放数据 */ this .data = new Object(); /** * 放入一个键值对 * @param {String} key * @param {Object} value */ this .put = function (key, value) { this .data[key] = value; }; /** * 获取某键对应的值 * @param {String} key * @return {Object} value */ this .get = function (key) { return this .containsKey(key)? this .data[key]: null ; }; /** * 删除一个键值对 * @param {String} key */ this .remove = function (key) { delete this .data[key]; }; /** * 遍历Map,执行处理函数 * * @param {Function} 回调函数 function(key,value,index){..} */ this .each = function (fn){ if ( typeof fn != 'function' ) { return ; } var len = this .data.length; for ( var i=;i<len;i++) { var k = this .data[i]; fn(k, this .data[k],i); } }; /** * 获取键值数组(类似Java的entrySet()) * @return 键值对象{key,value}的数组 */ this .entrys = function () { var len = this .data.length; var entrys = new Array(len); for ( var i = ; i < len; i++) { entrys[i] = { key : i, value : this .data[i] }; } return entrys; }; /** * 判断Map是否为空 */ this .isEmpty = function () { return this .data.length == ; }; /** * 获取键值对数量 */ this .size = function () { return this .data.length; }; /** * 重写toString ,装成JSON格式 */ this .toString = function () { var s = "[" ; for ( var i=;i< this .data.length;i++,s+= ',' ){ var k = this .data[i]; s += "{'id':'" + k+ "','value':'" + this .data[k]+ "'}" ; } s=s.substring(, s.length-); if (s!= "" ){ s+= "]" ; } return s; }; /** * 输出Value的值 */ this .values = function (){ var _values= new Array(); for ( var key in this .data) { _values.push( this .data[key]); } return _values; }; /** * 获取keys */ this .keySet = function (){ var _keys = new Array(); for ( var key in this .data) { _keys.push(key); } return _keys; }; /** * 判断MAP中是否含有指定KEY的元素 */ this .containsKey = function (_key) { return (_key in this .data); }; /** * 清空Map */ this .clear = function (){ this .data.length = ; this .data = new Object(); }; } |
以上所述是小编给大家介绍的js hashMap实例详解的相关知识,希望对大家有所帮助!