zoukankan      html  css  js  c++  java
  • 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);
    }  
  • 相关阅读:
    2017.0323.数字电路与系统-触发器
    2017.0322.数字电路与系统-触发器
    前端切图|点击按钮div变色
    当鼠标聚焦时输入框变色(focus事件实例)
    ajax实现简单的点击左侧菜单,右侧加载不同网页
    前端切图:自制简易音乐播放器
    移动开发之css3实现背景几种渐变效果
    jQuery实现多种切换效果的图片切换的五款插件
    jQuery实现点击开关图片切换
    三个Bootstrap免费字体和图标库
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/6901895.html
Copyright © 2011-2022 走看看