javascript的HashMap
来源:互联网 发布:手机菜单制作软件 编辑:程序博客网 时间:2024/06/08 06:54
- function HashMap() {
- var size = 0;
- var entry = new Object();
- this.put = function (key, value) {
- entry[key] = value;
- size++;
- };
- this.putAll = function (map) {
- if (typeof map == "object" && !map.sort) {
- for (var key in map) {
- this.put(key, map[key]);
- }
- } else {
- throw "输入类型不正确,必须是HashMap类型!";
- }
- };
- this.get = function (key) {
- return entry[key];
- };
- this.remove = function (key) {
- if (size == 0)
- return;
- delete entry[key];
- size--;
- };
- this.containsKey = function (key) {
- if (entry[key]) {
- return true;
- }
- return false;
- };
- this.containsValue = function (value) {
- for (var key in entry) {
- if (entry[key] == value) {
- return true;
- }
- }
- return false;
- };
- this.clear = function () {
- entry = new Object();
- size = 0;
- };
- this.isEmpty = function () {
- return size == 0;
- };
- this.size = function () {
- return size;
- };
- this.keySet = function () {
- var keys = new Array();
- for (var key in entry) {
- keys.push(key);
- }
- return keys;
- };
- this.entrySet = function () {
- var entrys = new Array();
- for (var key in entry) {
- var et = new Object();
- et[key] = entry[key];
- entrys.push(et);
- }
- return entrys;
- };
- this.values = function () {
- var values = new Array();
- for (var key in entry) {
- values.push(entry[key]);
- }
- return values;
- };
- this.each = function (cb) {
- for (var key in entry) {
- cb.call(this, key, entry[key]);
- }
- };
- this.toString = function () {
- return obj2str(entry);
- };
- function obj2str(o) {
- var r = [];
- if (typeof o == "string")
- return "\"" + o.replace(/([\'\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\"";
- if (typeof o == "object") {
- for (var i in o)
- r.push("\"" + i + "\":" + obj2str(o[i]));
- if (!!document.all && !/^\n?function\s*toString
\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)) { - r.push("toString:" + o.toString.toString());
- }
- r = "{" + r.join() + "}";
- return r;
- }
- return o.toString();
- }
- }
- var mp = new HashMap();
- mp.put("key","value");
- mp.size();
- mp.toString();
- mp.values();
- mp.entrySet()
- ....
0 0
- JavaScript封装的HashMap
- javascript的HashMap
- javascript的HashMap
- javascript实现java的HashMap
- HashMap的JavaScript简洁实现
- 用javascript封装的一个HashMap
- javascript实现java中的HashMap的功能
- JavaScript中简洁实用的HashMap对象
- Javascript实现Java的HashMap(链表散列)
- javascript实现原生的Java版本的HashMap及LinkedHashMap
- javascript模拟HashMap类
- javascript 实现 HashMap
- javaScript 中的hashMap
- javascript中的hashmap
- javascript实现hashmap
- Javascript 中 HashMap 实现
- JavaScript版HashMap
- 【JavaScript】JS实现HashMap
- JS数组的声明方法
- 我的Cocos2d-x学习笔记(十四)菜单(CCMenu)、菜单项(CCMenuItem)及菜单项子类
- MySQL日期数据类型、时间类型使用总结
- WebService笔记
- JavaScript实现页面跳转的几种方式
- javascript的HashMap
- 回顾SIGKDD被拒
- ubuntu下使用mysql的一些命令
- scala io操作
- ASP.NET服务端控制页面弹窗
- uvalive 6886 Flowery Trails fft
- linux 查看文件
- storm自带例子详解 (一)——WordCountTopologyNode
- LeetCode之ThreeSum