zoukankan      html  css  js  c++  java
  • js对字符串replace等操作

    面对这样的字符串data:   {1=[5, 3, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444],2=[6, 4, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444],3=[5, 5, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444],4=[4, 4, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444],5=[20, 16, 20, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444], 10=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}

    data从后台传过来本为map,可是到前台成了这样的格式,要运用到echarts上的line图需要做组装

    注:${chartResult}直接这样用后台传来的数据是无法展现的,为空,必须把它隐藏到一个input里取出,如<input id="chartResult" value="${chartResult}" hidden=true />

        var data = $("#chartResult").val();
        var data1 = data.substr(1,data.length-3);

    注:data1: 1=[5, 3, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444],2=[6, 4, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444],3=[5, 5, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444],4=[4, 4, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444],5=[20, 16, 20, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444], 10=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0


        var data2 = data1.split("=[").join('*').split("],").join('*');
        alert(data2);

    注:js只支持replace,一般只能替换第一个字符,不支持replaceAll,而str.split(replaceStr).join('')可实现全部替换

    注:data2: 1*5, 3, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444* 2*6, 4, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444* 3*5, 5, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444* 4*4, 4, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444* 5*20, 16, 20, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444* 10*0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0


        var str = data2.split("*");

    注:这里不能用空格分隔,因为数字之间的逗号之后也有空格,最好用空格之外的符号如*


        var arr = [];
        for(var index in str){
            arr[index] = str[index];
        }

        var qtyNum = [];
        for(var i = 8;i<=24;i++){
           qtyNum.push("qty"+i);
        }
        alert(qtyNum);
        var leaveDcAndNoInDepotQty = []; //出分拣未入站单量
        var inDepotAndNoDeliveryQty = []; //入站未配送单量
        var outDepotAndNoReturnQty = []; //出站未回单单量
        var deliveryFinishedQty = []; //配送结束单量
        var totalQty = []; // 总单量
        

    注:arr[1],arr[3]等只是字符串,需要组装在list里面供line来使用


        var leaveStr = arr[1].split(",");
        for(var index in leaveStr){
            leaveDcAndNoInDepotQty.push(leaveStr[index]);
        }
        var inStr = arr[3].split(",");
        for(var index in inStr){
            inDepotAndNoDeliveryQty.push(inStr[index]);
        }
        var outStr = arr[5].split(",");
        for(var index in outStr){
            outDepotAndNoReturnQty.push(outStr[index]);
        }
        var deliveryStr = arr[7].split(",");
        for(var index in deliveryStr){
            deliveryFinishedQty.push(deliveryStr[index]);
        }
        var totalStr = arr[9].split(",");
        for(var index in totalStr){
            totalQty.push(totalStr[index]);
        }
        
        alert(leaveDcAndNoInDepotQty);

    5, 3, 5, 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 111, 222, 333, 444

  • 相关阅读:
    java开发中遇到的问题及解决方法(持续更新)
    java.lang.UnsatisfiedLinkError: no XXX in java.library.path
    JNI与JNA性能比较
    JNA—JNI终结者
    JNI的替代者—使用JNA访问Java外部功能接口
    iOS开发UI篇—多控制器和导航控制器简单介绍
    李洪强iOS开发-网络新闻获取数据思路回顾
    iOS开发UI篇—Date Picker和UITool Bar控件简单介绍
    iOS开发UI篇—程序启动原理和UIApplication
    iOS开发UI篇—常见的项目文件介绍
  • 原文地址:https://www.cnblogs.com/msr1019jingzi/p/5278499.html
Copyright © 2011-2022 走看看