/* name: Map.js author: WindDC date: 2006-10-27 content: 本程序用JS实现类拟JAVA中MAP对像的功能 */ function Node(key,value){//键值对对象 this.key=key; this.value=value; } function Map(){//Map类 this.nodes=new Array(); } Map.prototype.put=function(key,value){//往容器中加入一个键值对 for(var i=0;i<this.nodes.length;i++) if(this.nodes[i].key==key){//如果键值已存在,则put方法为更新已有数据 this.nodes[i].value=value; return; } var node=new Node(key,value); this.nodes.push(node); return; }//put Map.prototype.get=function(key){//获取指定键的值 for(var i=0;i<this.nodes.length;i++) if(this.nodes[i].key==key) return this.nodes[i].value; return null; }//get Map.prototype.size=function(){//获取容器中对象的个数 return this.nodes.length; }//size Map.prototype.clear=function(){//清空容器 while(this.nodes.length>0) this.nodes.pop(); }//clear Map.prototype.remove=function(key){//删除指定值 for(var i=0;i<this.nodes.length;i++) if(this.nodes[i].key==key){ var newNodes= new Array() ; if(i>0){ newNodes = newNodes.concat(this.nodes.slice(0,i),this.nodes.slice(i+1)); } else//删除的是第一个元素 { newNodes=this.nodes.slice(1); } this.nodes=newNodes; } }//remove Map.prototype.isEmpty=function(){//是否为空 if(this.nodes.length==0) return true; else return false; }//isEmpty Map.prototype.toString=function(){ var str="["; for(var i=0;i<this.nodes.length;i++){ if(i<this.nodes.length-1) str=str+this.nodes[i].key+","; else str=str+this.nodes[i].key; } str=str+"]"; return str; }//toString Map.prototype.toJson=function(){ var sjson="["; for(var i=0;i<this.nodes.length;i++){ if(i<this.nodes.length-1) sjson+="{\""+findObjKV(this.nodes[i].value)+"\"},"; else sjson+="{\""+findObjKV(this.nodes[i].value)+"\"}"; } sjson+="]"; return sjson; }//toJson Map.prototype.indexOf = function(i){ return this.nodes[i]; } //遍历对象key val function findObjKV(source){ var result=new Array(); for(k in source){ if(source.hasOwnProperty(k)){ result.push("\""+k+"\":\""+source[k]+"\""); } } return result.join(","); }
使用:
var conditionMap = new Map(); conditionMap.put(k,v);
相关推荐
js终于有了自己的Map了,类似与java的Map对象。此文件是源代码,亲测有类似于java的Map对象的类似方法:put(key,value)、get(key)、keys()、values()、size()、isEmpty()、remove(key)、clear()、element(index)、...
在JavaScript中,尽管原生没有提供与Java完全相同的Map对象,但可以通过自定义对象或使用ES6提供的Map数据结构来实现类似的功能。本篇将详细探讨如何在JavaScript中模仿Java的Map对象,以及ES6 Map的数据结构和用法...
在JavaScript中,没有内置的Map对象,但可以通过自定义对象的方式来模拟实现类似Java中的Map功能。这个自定义的Map对象可以存储键值对,并提供类似于Java Map接口的方法,如put、get、remove、clear、contains以及...
在本文中,将探讨如何使用JavaScript(简称JS)实现类似Java语言中Map对象的功能。Java中的Map是一个接口,它用于存储键值对(key-value pairs),并且提供了诸如添加、删除、修改和获取键值对等操作。虽然...
在Java编程环境中,有时我们需要与JavaScript交互,例如执行一些动态脚本或者利用JavaScript库的功能。Java提供了这样的能力,让我们可以直接在Java程序中运行JS代码。这主要得益于Oracle公司在Java 6版本引入的一个...
本篇文章将深入探讨如何将Java中的List和Map对象转化为JSON格式,并涉及与AJAX交互的相关知识。 1. **Java JSON库**: 在Java中,我们可以使用多种库来实现对象到JSON的转换,如Jackson、Gson、Fastjson等。这里以...
根据提供的文件信息,本文将详细解释如何在JavaScript中模拟Java中的`Map`功能,并实现一组基本的操作方法。这种做法有助于理解两种语言之间处理键值对数据结构的不同方式,并且能够帮助开发者利用JavaScript来构建...
在某些场景下,如果需要兼容JavaScript或者使用类似的方法,可能会使用`Object.keys(map).length`,但这是JavaScript中的写法,在Java中并不适用。 3. **Java 8及Lambda表达式遍历Map** 自Java 8开始,引入了...
JSON采用完全独立于语言的文本格式,但也使用了类似于C家族语言,包括C、C++、C#、Java、JavaScript、Perl、Python等。这些特性使JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成。 **...
JavaScript中的HashMap并不是内置的数据结构,但在许多开发场景中,我们需要实现类似Java中HashMap的功能,用于存储键值对数据。在JavaScript中,我们通常使用对象(Object)来模拟HashMap的行为,因为对象的属性名...
接下来,我们将详细探讨`classMap`的使用、它的功能以及如何在JavaScript中实现类似的数据结构。 首先,`classMap`可能是一个自定义的数据类型,用于模拟Java或C#中的映射(Map)概念,它允许我们将一个特定的键...
- **`Map`**:类似于Java中的`Map`,JavaScript的`Map`提供了键值对的存储方式,支持任意类型的键。 ### 总结 通过上述介绍,我们可以看出Java集合框架非常强大和完整,提供了丰富的接口、抽象类和具体类来满足...
在JavaScript中,原生的`Map`对象虽然提供了丰富的功能,但其操作方式与Java中的`Map`有所不同,不那么直观。为了使习惯于Java开发的程序员在JS中也能便捷地操作映射数据结构,我们可以创建一个名为`UtilMap`的对象...
JSON对象通常以键值对的形式存在,可以被表示为一个Java Map对象。要将Map转换为JSON字符串,可以使用`JsonConfig`和`JSONObject`类: ```java import net.sf.json.JSONObject; import net.sf.json.util.JsonConfig...
- JSON键必须是字符串,所以在Java对象中,对应的字段应为String类型。 - 如果对象有嵌套的对象或数组,需要递归处理或使用`JSONArray`。 总结,Java对象转JSON的过程主要包括创建Java对象,使用`JSONObject`将...
在JavaScript的世界里,我们通常使用`require`(Node.js环境)或`import`(ES6及以后版本)来加载和使用其他脚本文件中的功能。这篇博文可能介绍了一种方法,使得JavaScript的模块导入更加结构化和类似Java。 描述...
- 类似地,可以将Java中的`List`集合转换为JSONArray,其中集合中的元素可以是任意对象,如字符串、自定义JavaBean等。 - 直接传递JSON格式的字符串到`JSONArray.fromObject`也可以得到对应的JSONArray对象,如`[...
总结,Java对JSON的操作主要包括构建JSON对象、将JSON字符串转换为Java对象、将Java对象转换为JSON字符串,以及与Map对象的相互转换。开发者可以根据项目需求选择Gson、Jackson或其他库进行JSON处理。理解并熟练掌握...
在JavaScript中,尽管原生没有提供与Java完全相同的Map集合,但可以通过自定义对象来模拟实现Map的功能。这里我们将详细探讨如何用JavaScript模仿Java的Map集合,并了解其基本操作。 首先,我们需要创建一个名为`...
在Java开发中,处理JSON格式的数据是常见的任务,JsonPath提供了强大的功能来方便地解析和操作JSON。 JsonPath的语法主要包含以下组件: 1. **根节点**:`$` 表示JSON对象的根节点,类似于XPath中的`/`。 2. **...