javascript 自定义Map
迁移时间:2017年5月25日08:24:19
Author:Marydon
三、自定义Map数据格式
需特别注意的是:
js中没有像java中的Map数据格式,js自带的map()方法用于:返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。
map()使用指南:http://www.cnblogs.com/rocky-fang/p/5756733.html
(一)数据格式介绍
java中Map数据格式组成:{key=value, key=value,...}
格式:键与值之间用"="拼接,键值对之间用","拼接。
(二)操作Map
3.2.1 Map赋值
实现方式:字符串拼接
拼接方式:同上
举例:
var mapString = "";
var value1 = "张三";
var value2 = "123";
mapString += "userName=" + value1 + ",";
mapString += "password=" + value2;
mapString = "{" + mapString + "}";//最后拼接上"{}"
(三)格式转换
3.1 mapString转换成JSON对象
/**
* 将map形式的字符串转成JSON对象
* @param {string} mapStr
* java-Map格式字符串
*/
function mapstringToJSON (mapStr) {
// 1.去除字符串中所有的"
mapStr = mapStr.replace(/"/g, "");
// 2.去除掉"{}"
mapStr = mapStr.substring(1, mapStr.length - 1);
// 3.将map字符串用逗号拆分成数组
var strs = mapStr.split(",");
var jsonStr = "";//JSON字符串
var keyValue = new Array(2);//声明一个长度为2的数组
var key = "";//JSON-键
var value = "";//JSON-值
// 4.迭代map键值对
$(strs).each(function(index, str) {
keyValue = str.split("=");//按等号拆分成数组
key = '"' + keyValue[0].trim() + '"';
value = '"' + keyValue[1].trim() + '"';
jsonStr += key + ":" + value + ",";//标准的JSON拼接格式
});
// 5.去除最后一个逗号并拼接"{}"
jsonStr = "{" + jsonStr.substring(0, jsonStr.length - 1) + "}";
// 6.json字符串转成JSON对象
var json = eval('(' + jsonStr + ')');
return json;
}
举例:
/**
* 遍历JSON对象
*/
var key = "";//键
var value = "";//值
var keyValue = "";//键值对
for (var item in jsonObj) {
key = item;
value = jsonObj[item];//这里只能使用"[]"取值,使用"."(jsonObj.item)取不到值
keyValue = item + ":" + value;
console.log(keyValue);
}
javascript 自定义Map的更多相关文章
- javascript自定义Map对象
javascript定义map对象开发前端组件的重要性就不过多阐述了,直接参考以下案例即可 <script type=text/javascript charset=utf-8> func ...
- JavaScript之Map对象
前言 工欲善其事,必先利其器.这是一款以前在前端项目中没有使用过的.有趣的对象,咱来看看如何使用~ 并非arrayObj.map(function) //arrayObj.map与arrayObj.f ...
- Javascript事件模型系列(四)我所理解的javascript自定义事件
被我拖延了将近一个月的javascript事件模型系列终于迎来了第四篇,也是我计划中的最后一篇,说来太惭愧了,本来计划一到两个星期写完的,谁知中间遇到了很多事情,公司的个人的,搞的自己心烦意乱浮躁了一 ...
- javascript自定义滚动条插件,几行代码的事儿
在实际项目中,经常由于浏览器自带的滚动条样式太戳,而且在各个浏览器中显示不一样,所以我们不得不去实现自定义的滚动条,今天我就用最少的代码实现了一个自定义滚动条,代码量区区只有几十行,使用起来也非常方便 ...
- JavaScript自定义事件
很多DOM对象都有原生的事件支持,向div就有click.mouseover等事件,事件机制可以为类的设计带来很大的灵活性,相信.net程序员深有体会.随着web技术发展,使用JavaScript自定 ...
- javascript自定义浏览器右键菜单
javascript自定义浏览器右键菜单 在书上看到document对象还有一个contextmenu事件,但是不知为什么w3school中找不到这个耶... 利用这个特性写了个浏览器的右键菜单, ...
- javascript:自定义事件初探
javascript:自定义事件初探 http://www.cnblogs.com/jeffwongishandsome/archive/2008/10/27/1317148.html
- 理解的javascript自定义事件
理解的javascript自定义事件 被我拖延了将近一个月的javascript事件模型系列终于迎来了第四篇,也是我计划中的最后一篇,说来太惭愧了,本来计划一到两个星期写完的,谁知中间遇到了很多事情, ...
- Hive中自定义Map/Reduce示例 In Python
Hive支持自定义map与reduce script.接下来我用一个简单的wordcount例子加以说明.使用Python开发(如果使用Java开发,请看这里). 开发环境: python:2.7.5 ...
随机推荐
- Mybatis 使用Mybatis时实体类属性名和表中的字段名不一致
开发中,实体类中的属性名和对应的表中的字段名不一定都是完全相同的,这样可能会导致用实体类接收返回的结果时导致查询到的结果无法映射到实体类的属性中,那么该如何解决这种字段名和实体类属性名不相同的冲突呢? ...
- [BZOJ3622]已经没有什么好害怕的了(容斥DP)
给定两个数组a[n]与b[n](数全不相等),两两配对,求“a比b大”的数对比“b比a大”的数对个数多k的配对方案数. 据说做了这题就没什么题好害怕的了,但感觉实际上这是一个套路题,只是很难想到. 首 ...
- bzoj 1483: [HNOI2009]梦幻布丁
1483: [HNOI2009]梦幻布丁 Description N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1 ...
- Deep TEN: Texture Encoding Network
纹理特征,材料分类(Material Classification),在MINC-2500.Flickr Material Database.KTH-TIPS-2b.4D-Light-Field-Ma ...
- Token-Pasting Operator (##) and Stringizing Operator (#)
Token-Pasting Operator (##)The double-number-sign or “token-pasting” operator (##), which is sometim ...
- Fatal error: Call to undefined function mb_detect_encoding()
1.找到php扩展目录(我的php扩展目录的路径是:C:\Program Files\AppServ\php\extensions) 在extensions目录下面找到php_mbstring ...
- 【很变态】PHP类实例化对象竟然可以访问类的“静态(static)方法”!!!
之前发现一个PHP的变态问题:PHP中静态(static)调用非静态方法详解 这次看了下 ThinkPHP 的源码 function.inc.php ,里面有个函数: /** * 取得对象实例 支持调 ...
- Vue 小项目的最佳实践
项目简介 目前一期只是为App内某个模块资讯模块文章的分享和APP下载,后续还会有更多的功能,为了项目可扩展.可伸缩结合了我以前的实践搭建了此项目项目地址,如果这个简单的项目能给您带来帮助请给小哥哥⭐ ...
- android非法字符的判定、表情符号的判定
public class EmojiEditText extends EditText {// 输入表情前的光标位置private int cursorPos; // 输入表情前EditText中的文 ...
- pyPdf - 用Python方便的处理PDF文档
pyPdf库 ( http://pybrary.net/pyPdf/ ) ,操作起来相当直接易懂,把代码贴在这儿,做个记录. 1 from pyPdf import PdfFileWriter, P ...