浏览 2357 次
锁定老帖子 主题:javascript之HashMap
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2015-04-16
<pre name="code" class="java"> var map = new HashMap(); map.put("a",1); map.put("b",1); map.put("b",1); alert(map.get("a")); alert(map.keys().toString()); alert(map.values.toString()); alert(map.size()); map.remove("a"); alert(map.keys().toString()); </pre> 代码 <pre name="code" class="java"> /* jquery Map 对象 @desc:基于js的hashmap */ function HashMap() { /** Map 大小 * */ var size = 0; /** 对象 * */ var entry = new Object(); /** 存 * */ this.put = function(key, value) { if (!this.containsKey(key)) { size++; } entry[key] = value; } /** 取 * */ this.get = function(key) { if (this.containsKey(key)) { return entry[key]; } else { return null; } } /** 删除 * */ this.remove = function(key) { if (delete entry[key]) { size--; } } /** 是否包含 Key * */ this.containsKey = function(key) { return (key in entry); } /** 是否包含 Value * */ this.containsValue = function(value) { for ( var prop in entry) { if (entry[prop] == value) { return true; } } return false; } /** 所有 Value * */ this.values = function() { var values = new Array(); for ( var prop in entry) { values.push(ent); } return values; } /** 所有 Key * */ this.keys = function() { var keys = new Array(); for ( var prop in entry) { var ent = entry[prop]; if (ent != null && ent != undefined && ent.length > 0) keys.push(ent); } return keys; } /** Map Size * */ this.size = function() { return size; } /** **移除map所有信息** */ this.removeALl = function() { var str_key = this.keys(); for (var i = 0; i < str_key.length; i++) { if (null != str_key[i] && "" != str_key[i]) { this.remove(str_key[i]); } } } } /** * * 字符串拼接 QUINN * */ function StringBuffer() { this._strs = new Array(); } StringBuffer.prototype.append = function(str) { this._strs.push(str); }; StringBuffer.prototype.arrayToString = function() { return this._strs.join(""); }; </pre> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |