/* * 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 Map() { this.elements = new Array(); //获取MAP元素个数 this.size = function() { return this.elements.length; } //判断MAP是否为空 this.isEmpty = function() { return (this.elements.length < 1); } //删除MAP所有元素 this.clear = function() { this.elements = new Array(); } //向MAP中增加元素(key, value) this.put = function(_key, _value) { this.elements.push( { key : _key, value : _value }); } //删除指定KEY的元素,成功返回True,失败返回False this.remove = function(_key) { var bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { this.elements.splice(i, 1); return true; } } } catch (e) { bln = false; } return bln; } //获取指定KEY的元素值VALUE,失败返回NULL this.get = function(_key) { try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { return this.elements[i].value; } } } catch (e) { return null; } } //获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL this.element = function(_index) { if (_index < 0 || _index >= this.elements.length) { return null; } return this.elements[_index]; } //判断MAP中是否含有指定KEY的元素 this.containsKey = function(_key) { var bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { bln = true; } } } catch (e) { bln = false; } return bln; } //判断MAP中是否含有指定VALUE的元素 this.containsValue = function(_value) { var bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].value == _value) { bln = true; } } } catch (e) { bln = false; } return bln; } //获取MAP中所有VALUE的数组(ARRAY) this.values = function() { var arr = new Array(); for (i = 0; i < this.elements.length; i++) { arr.push(this.elements[i].value); } return arr; } //获取MAP中所有KEY的数组(ARRAY) this.keys = function() { var arr = new Array(); for (i = 0; i < this.elements.length; i++) { arr.push(this.elements[i].key); } return arr; } }
- 浏览: 758261 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (663)
- Eclipse&MyEclipse (40)
- PHP (3)
- Java (72)
- CSS (3)
- MySQL (35)
- Oracle (68)
- Red Hat Linux (23)
- Tomcat (26)
- Oracle10gAS (1)
- Spring (28)
- MyBatis&iBatis (13)
- JS (47)
- JQuery (23)
- Editplus (2)
- 其他 (4)
- Html (15)
- SQL (5)
- Ant (2)
- Hadoop (2)
- Servlet (9)
- Windows (11)
- Flex (1)
- CentOS Linux (7)
- Microsoft SQL Server (2)
- DB2 (3)
- Mysql char 与 varchar 区别 (0)
- excel (5)
- jsp (8)
- FreeMarker (1)
- EasyUI (5)
- WebShpere MQ (1)
- Maven2 (6)
- 浏览器缓存 (2)
- visio (1)
- XML (2)
- 物联网 (1)
- Maven (3)
- JSTL (2)
- HTTP (1)
- Fourinone (1)
- IP知识 (1)
- MyBatis (1)
- 项目管理 (2)
- office2003+2007 (1)
- DOS (1)
- JProfiler (1)
- Thinpad T440p (1)
- ActiveMQ (10)
- MongoDB (5)
- Vert.x3 (1)
- Ngnix (3)
- Spark (2)
- BigData (1)
- 性能概念公式 (1)
- RocketMQ (3)
- IT名词术语 (1)
- Java编程工具 (1)
- RabbitMQ (2)
- MetaMQ (1)
- 架构 (6)
- KafkaMQ (7)
- Redis (4)
- OAuth (1)
- Gradle (1)
- CentOS (5)
- Microsoft_Toolkit (1)
- git (5)
- IntelliJ Idea (4)
- Nginx (3)
- docker (12)
- VMware (2)
- 算法 (1)
- JDBCPool (1)
- spring-cloud (7)
- netbean (1)
- 微信小程序 (2)
- CURL (2)
- Java生成二维码 (1)
- 区块链 (2)
- 机器学习 (1)
- SpringBoot (3)
- Android (9)
- 微服务架构 (1)
- Kubernetes (2)
- OpenProject (0)
- 测试 (1)
- https (1)
- 开源许可证 (1)
- ServiceMesh (2)
- NET (0)
- .NET (1)
- TEST (1)
- iOS (2)
- thymeleaf (4)
- lombok (1)
- 浏览器设置 (1)
- 富文本编辑器 (1)
- 搜索引擎 (1)
- IT常识 (1)
- UML (0)
- Axure (1)
- appstore无法联网 (0)
- apk无法安装 (1)
- SQLServer (2)
- 卸载弹窗软件 (1)
- jenkins (1)
- TortoiseGit (1)
- eureka (1)
- ajax (1)
- spyder (0)
最新评论
发表评论
-
js保留两位小数的方法如下
2021-08-20 10:29 2407js保留两位小数的方法 js保留两位小数 ... -
记一次:iframe嵌套网页,利用window.postMessage()实现子父窗口相互传值(转)
2019-12-13 09:57 925场景需要: http://a ... -
设置前端允许跨域请求后端API:Access-Control-Allow-Credentials(转)
2019-07-05 15:16 4140跨域报错信息: Console代码 ... -
JS后台菜单简易版(转)
2016-07-11 08:31 499<!DOCTYPE html PUBLIC &quo ... -
前端开发者不得不知的 ECMAScript 6 十大特性 (转)
2016-03-21 09:32 522ES6(ECMAScript2015)的出现,无疑给前端开发 ... -
17 行代码实现的简易 Javascript 字符串模板(转)
2016-03-01 14:19 719原作者:http://www.thinksaas.cn/g ... -
JSON字符串与JSON对象互转(前、后台)(转)
2015-11-19 09:09 2024SON官网:官网地址 (各种编程语言对应的工具应有尽有,前提 ... -
AMD:浏览器中的模块规范(转)
2015-11-17 15:58 522Snandy Stop, thinking is ... -
require.js的用法(转)
2015-11-17 15:44 605一、为什么要用require.js? 最早的时候,所有Ja ... -
[JS]jQuery中attr和prop方法的区别
2015-11-12 14:17 732原作者:http://blog.csdn.net/szwan ... -
jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})()
2015-11-12 14:03 658原作者:http://blog.csdn.net/szwan ... -
$.extend(true,{},a,b),深入理解,小心陷阱(转)
2015-11-12 13:53 1127$.extend一般情景下,使 ... -
Script error for: echarts/util/shape/HalfSmoothPolygon
2015-09-29 09:59 0Error: Script error for: ec ... -
JavaScript声明全局变量三种方式的异同
2015-08-27 15:54 481JavaScript中声明变量格式:var(关键字)+变量名( ... -
JavaScript function函数种类 (转)
2015-08-27 09:39 615【原作者】http://www.cnblogs.com/po ... -
JS日期转换
2015-07-21 15:05 704方法一:这个很不错,好像是 csdn 的 Meizz 写的: ... -
js 中{},[]中括号,大括号使用详解(转)
2015-06-17 16:57 2579js 中{},[]中括号,大括号使用详解 作者: 字体: ... -
javascript之数组操作 (转)
2015-05-31 00:02 690http://www.cnblogs.com/zhangzt/ ... -
javascript 中的几种 括号 (转)
2015-05-31 00:02 873小括号 JavaScript中小括号有五种语义 ... -
八款你不得不知的开源前端JS框架(转)
2014-11-02 21:31 934本文推荐了八款比较热门和经典的Javascript 开源框架 ...
相关推荐
本文实例讲述了JS自定义对象实现Java中Map对象功能的方法。分享给大家供大家参考。具体分析如下: Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象。 这里我创建一...
然而,在某些情况下,我们可能需要自定义一个类似于`Map`的功能,特别是在旧版本的JavaScript中,它不支持原生的`Map`对象。本示例将详细介绍如何使用JavaScript实现一个简单的自定义`Map`方法。 首先,我们定义一...
在JavaScript中,尽管原生没有提供与Java完全相同的Map对象,但可以通过自定义对象或使用ES6提供的Map数据结构来实现类似的功能。本篇将详细探讨如何在JavaScript中模仿Java的Map对象,以及ES6 Map的数据结构和用法...
- **对象转Map方法**:Java没有内置的方法直接将对象转换为Map,但我们可以手动实现。这通常涉及遍历对象的属性并创建对应的键值对。也可以使用第三方库如Dozer或ModelMapper来简化这个过程。 - **自定义转换**:...
4. **Map对象转JSON**: 对于Map对象,转换过程类似。只需确保Map的键是字符串类型,值也是可序列化的: ```java String jsonString = mapper.writeValueAsString(yourMap); ``` 5. **自定义对象转JSON**: 如果...
在ArcGIS for JS API中,可以使用`MapView`对象的`setCursor`方法来更改鼠标的样式。例如: ```javascript view.setCursor('pointer'); // 更改为指针样式 ``` 同时,你还可以创建自己的CSS样式来实现更复杂的鼠标...
当我们接收到一个JSON字符串时,可以将其转换为Map对象以便于操作。在Java中,我们可以使用开源库如Jackson或Gson来实现这个功能。例如,使用Jackson的`ObjectMapper`类: ```java import ...
然而,在早期的JavaScript版本中,并没有内建的Map对象。因此,开发者常常需要自己实现类似Map的功能。这通常涉及到创建一个自定义对象,并为它添加用于操作键值对的方法,如新增、删除、获取和判断键值对数量等。在...
**JavaScript Map对象详解与实践应用** 在JavaScript的世界里,`Map`对象是一个强大的数据结构,它允许我们存储键值对,且键可以是任意类型,而不仅仅是字符串。这与原生的`Object`有着本质的区别,`Object`的键...
`object.js` 文件可能涉及到的是JavaScript对象的操作,虽然不是直接与Array或Map相关,但它们在JavaScript中是重要的数据结构。JavaScript对象是一种键值对的集合,键通常是字符串,但也可以是符号(Symbol)。与...
综上所述,使用JavaScript自定义下拉框涉及到HTML结构的搭建、事件监听、数据处理、DOM操作以及CSS样式定制等多个方面。通过结合这些技术,我们可以创建出符合项目需求的、功能丰富的自定义下拉框组件。在实际开发中...
在JavaScript中,Map对象是一种内置的数据结构,它允许我们存储键值对,其中键可以是任何类型,而不仅仅是字符串。这与对象(Object)不同,对象的键必须是字符串。然而,当涉及到数据交换或存储时,通常需要将Map...
在JavaScript中,`Map`对象是一种内置的数据结构,它保存键值对,并且可以按插入顺序记住元素。与普通的JavaScript对象不同的是,`Map`的键可以是任何类型的值(不仅仅是字符串或符号)。本文将详细介绍如何在...
本话题主要聚焦于如何利用ArcGIS for JavaScript加载天地图以及添加自定义图层。 首先,让我们深入了解ArcGIS for JavaScript的核心概念。它基于ESRI的地理信息系统技术,提供了丰富的API接口,可以实现地图的创建...
本教程将重点讲解如何使用JavaScript和百度地图API来创建一个自定义的地铁线路图,适用于H5和Web端应用。通过理解并掌握以下关键知识点,你可以实现一个功能丰富的地铁线路图,包括自定义颜色等特性。 1. **百度...
在JavaScript的世界里,`Map`对象是一个非常重要的数据结构,它允许我们存储键值对,其中键可以是任何类型的值,而不仅仅是字符串。`MapUtil`工具类则是为了方便开发者更高效、更灵活地操作`Map`对象。下面我们将...
在JavaScript中,对象的键默认是字符串,而Map可以使用任何可哈希的值作为键,包括对象、数字、字符串等。Map的一些主要方法包括set、get、has、delete、clear等。在`map.js`文件中,可能会有对Map的实现或扩展,...
这通常涉及到`Map`、`Layer`、`Graphic`对象的使用,以及事件监听器的设置。 在实际应用中,自定义Infowindow的常见需求包括: - **动态内容**:根据图斑的属性数据动态生成Infowindow内容。 - **交互性**:添加...