迁移时间: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的更多相关文章

  1. javascript自定义Map对象

    javascript定义map对象开发前端组件的重要性就不过多阐述了,直接参考以下案例即可 <script type=text/javascript charset=utf-8> func ...

  2. JavaScript之Map对象

    前言 工欲善其事,必先利其器.这是一款以前在前端项目中没有使用过的.有趣的对象,咱来看看如何使用~ 并非arrayObj.map(function) //arrayObj.map与arrayObj.f ...

  3. Javascript事件模型系列(四)我所理解的javascript自定义事件

    被我拖延了将近一个月的javascript事件模型系列终于迎来了第四篇,也是我计划中的最后一篇,说来太惭愧了,本来计划一到两个星期写完的,谁知中间遇到了很多事情,公司的个人的,搞的自己心烦意乱浮躁了一 ...

  4. javascript自定义滚动条插件,几行代码的事儿

    在实际项目中,经常由于浏览器自带的滚动条样式太戳,而且在各个浏览器中显示不一样,所以我们不得不去实现自定义的滚动条,今天我就用最少的代码实现了一个自定义滚动条,代码量区区只有几十行,使用起来也非常方便 ...

  5. JavaScript自定义事件

    很多DOM对象都有原生的事件支持,向div就有click.mouseover等事件,事件机制可以为类的设计带来很大的灵活性,相信.net程序员深有体会.随着web技术发展,使用JavaScript自定 ...

  6. javascript自定义浏览器右键菜单

    javascript自定义浏览器右键菜单   在书上看到document对象还有一个contextmenu事件,但是不知为什么w3school中找不到这个耶... 利用这个特性写了个浏览器的右键菜单, ...

  7. javascript:自定义事件初探

    javascript:自定义事件初探   http://www.cnblogs.com/jeffwongishandsome/archive/2008/10/27/1317148.html

  8. 理解的javascript自定义事件

    理解的javascript自定义事件 被我拖延了将近一个月的javascript事件模型系列终于迎来了第四篇,也是我计划中的最后一篇,说来太惭愧了,本来计划一到两个星期写完的,谁知中间遇到了很多事情, ...

  9. Hive中自定义Map/Reduce示例 In Python

    Hive支持自定义map与reduce script.接下来我用一个简单的wordcount例子加以说明.使用Python开发(如果使用Java开发,请看这里). 开发环境: python:2.7.5 ...

随机推荐

  1. Cobol online program 传指针

  2. 杭电oj 1001

    #include<iostream> using namespace std; int main() { , sum; while (cin>>n) { sum = ; // ...

  3. 【SPOJ Query on a tree 】 (树链剖分)

    http://acm.hust.edu.cn/vjudge/problem/13013 题意: 有一棵N个节点的树(1<=N<=10000),N-1条边,边的编号为1~N-1,每条边有一个 ...

  4. [BZOJ4765]普通计算姬(分块+树状数组)

    4765: 普通计算姬 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 1725  Solved: 376[Submit][Status][Discus ...

  5. 【构造】AtCoder Regular Contest 079 D - Decrease (Contestant ver.)

    从n个t变化到n个t-1,恰好要n步,并且其中每一步的max值都>=t,所以把50个49当成最终局面,从这里开始,根据输入的K计算初始局面即可. #include<cstdio> # ...

  6. 【树形dp】VK Cup 2012 Round 1 D. Distance in Tree

    统计树中长度为K的路径条数. 用f[u][k]表示从u结点的子树中出发,终止于u结点的长度为k的路径条数. 边dp边统计答案.为了防止重复统计,在枚举子节点的时候,先将该子节点和当前u结点(和前面已经 ...

  7. 【分块】【树套树】bzoj2141 排队

    考虑暴力更新的情况,设swap的是L,R位置的数.swap之后的逆序对数应该等于:之前的逆序对数+[L+1,R-1]中比 L位置的数 大的数的个数-[L+1,R-1]中比 L位置的数 小的数的个数-[ ...

  8. 【线段树】POJ3225-Help with Intervals

    ---恢复内容开始--- [题目大意] (直接引用ACM神犇概括,貌似是notonlysucess?) U:把区间[l,r]覆盖成1 I:把[-∞,l)(r,∞]覆盖成0 D:把区间[l,r]覆盖成0 ...

  9. 【动态规划】mr368-教主种树

    [题目大意] 教主有着一个环形的花园,他想在花园周围均匀地种上n棵树,但是教主花园的土壤很特别,每个位置适合种的树都不一样,一些树可能会因为不适合这个位置的土壤而损失观赏价值. 教主最喜欢3种树,这3 ...

  10. B 君的第二题 (hongkong)

    B 君的第二题 (hongkong) 题目大意: 一个长度为\(n(n\le2\times10^5)\)的数组,给定一个数\(k(k\le40)\).用\(a[i][j]\)表示该数组\(i\)次前缀 ...