javascript-自定义Map
Posted Marydon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章