js创建javaMap

(function(){
    var _common = {
        Map :function () {
            Array.prototype.remove = function(val) {
                var index = this.indexOf(val);
                if (index > -1) {
                    this.splice(index, 1);
                }
            };
            this.keys = new Array(); /** 存放键的数组(遍历用到) */
            this.data = new Object();/** 存放数据 */
            /**
             * 放入一个键值对
             * @param {String} key
             * @param {Object} value
             */
            this.put = function(key, value) {
                if(this.data[key] == null){
                    this.keys.push(key);
                }
                this.data[key] = value;
            };
            /**
             * 获取某键对应的值
             * @param {String} key
             * @return {Object} value
             */
            this.get = function(key) {
                return this.data[key];
            };
            /**
             * 删除一个键值对
             * @param {String} key
             */
            this.remove = function(k) {
                this.keys.remove(k);
                //delete this.keys[k];
                this.data[k] = null;
            };
            /**
             * 遍历Map,执行处理函数
             *
             * @param {Function} 回调函数 function(key,value,index){..}
             */
            this.each = function(fn){
                if(typeof fn != ‘function‘){
                    return;
                }
                var len = this.keys.length;
                for(var i=0;i<len;i++){
                    var k = this.keys[i];
                    fn(k,this.data[k],i);
                }
            };
            /**
             * 获取键值数组(类似Java的entrySet())
             * @return 键值对象{key,value}的数组
             */
            this.entrys = function() {
                var len = this.keys.length;
                var entrys = new Array(len);
                for (var i = 0; i < len; i++) {
                    entrys[i] = {
                        key : this.keys[i],
                        value : this.data[i]
                    };
                }
                return entrys;
            };
            /**
             * 判断Map是否为空
             */
            this.isEmpty = function() {
                return this.keys.length == 0;
            };
            /**
             * 获取键值对数量
             */
            this.size = function(){
                return this.keys.length;
            };
            /**
             * 重写toString
             */
            this.toString = function(){
                var s = "{";
                for(var i=0;i<this.keys.length;i++,s+=‘,‘){
                    var k = this.keys[i];
                    s += k+"="+this.data[k];
                }
                s+="}";
                return s;
            };
            /**
             * 重写toString
             */
            this.toMapString = function(){
                var s = "java.util.Map map = new java.util.HashMap();";
                for(var i=0;i<this.keys.length;i++){
                    var k = this.keys[i];
                    if(i != 0)    s +=";";

                    s += "map.put(\""+k+"\",\""+this.data[k]+"\")";
                }
                s+="; return map;";
                return s;
            };
        }

    };

    if(typeof JBPM == "undefined") window.JBPM={};
    JBPM.common = _common;
})();

/**
* Simple Map
* var m = new Map();
* m.put(‘key‘,‘value‘);
* ...
* var s = "";
* m.each(function(key,value,index){
* s += index+":"+ key+"="+value+"/n";
* });
* alert(s);
*/

 
时间: 2024-10-23 16:10:26

js创建javaMap的相关文章

Node.js 创建HTTP服务器(经过测试,这篇文章是靠谱的T_T)

Node.js 创建HTTP服务器 如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi. 从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求根本不需 要 PHP 来处理. 不过对 Node.js 来说,概念完全不一样了.使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器.事实上,我们的 Web 应用以及对应的 Web 服务器基本上是一样的.

Yomotsu 使用 THREE.js 创建的示例(Examples created by Yomotsu using THREE.js)

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Examples created by Yomotsu using THREE.js 基本立方体 basic cube 带纹理的基本立方体basi

node.js在windows下的学习笔记(5)---用NODE.JS创建服务器和客户端

//引入http模块 var http = require('http'); //调用http的createServer的方法,这个方法有一个回调函数,这个回调数 //的作用是没到那个有请求发送给服务器的时候,就执行这个回调函数 http.createServer(function (req, res) { //发送 res.end('Hello World\n'); }).listen(3000, "127.0.0.1");//端口和IP的绑定 console.log('Server

给js创建的一个input数组绑定click事件

</pre><pre name="code" class="javascript"><html> <body> <input type="button" name="input[]" value="按钮1" /><br /> <input type="button" name="input[]&quo

js创建元素

js创建多条数据,插入到页面中的方法. 方法一: 执行时间大概在35ms左右. 这个就属于使用字符串拼接之后,再一次性的插入到页面中.缺点是,容易导致事件难以绑定. 方法二: 执行时间不定,最少的在80ms左右,做多的达到了180ms左右. 这个方法是创建文档碎片保存需要插入的节点,然后一次性插入到页面中. 方法三: 执行时间基本维持在80ms左右. 这个方法就是每次创建节点之后,就立即插入到页面中,会频繁导致页面的reflow和repaint.不建议使用该方法进行DOM读写. 使用jquery

js创建table / 删除一行tr

代码: <!DOCTYPE html><html><head> <title></title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> </head><body> </body> <script type="text/javascript"

node.js 创建第一个web应用

安装node.js   从http://nodejs.org/ 下载安装程序进行安装. 安装后从开始菜单启动: Node.js command prompt 安装web开发框架Express 如果需要代理访问网络,先用下面的命令设置代理: > npm config set proxy=http://192.168.1.1:8080 运行下面命令进行安装express: > npm install express 执行下面命令,安装可执行程序: > npm install -g [emai

js创建表格

<!-- 动态生成表格 ,删除 修改--> <html> <head> <meta content="text/html;charset=utf-8"> <script type="text/javascript"> var ary=new Array(); ary.push( new stud("1","aaa","12","B&quo

【ASP.NET Web API教程】2.3.5 用Knockout.js创建动态UI

注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. Part 5: Creating a Dynamic UI with Knockout.js 第5部分:用Knockout.js创建动态UI 本文引自:http://www.asp.net/web-api/overview/creating-web-apis/using-web-api-with-entity-framework/using-web-api-with-entity-fra