var arr = ret.split(" ;");
有一个ret返回一个数组是这样的
arr(key1=val1 ;key2=val2 ;...)
情式
想要解析这个arr得到val1,val2的值怎么做

解决方案 »

  1.   

    顶,不知道有没有更好的方法。除了做两次split
      

  2.   

    可以用正则。
    不过最好的方法是从源头改成方便JS处理的格式,既然不需要key1那些,还干嘛返回到前端添乱呢。
      

  3.   

    可以用正则  或者 你可以split 2次 第一次;号  在把得到的split("=") 不就得到了你要的
      

  4.   

    var ret="key1=val1 ;key2=val2 ;......";
    var arr=ret.split(" ;");
    for(var i=0;i<arr.length;i++){
    arr[i]=arr[i].replace("key"+(i+1)+"=","");
    }
      

  5.   


    var ret="key1='val1';key2='val2';key3='val3'";
    ret=ret.replace(/[=]/ig,":");
    ret=ret.replace(/[;]/ig,",");
    ret ="{"+ret+"}"
    ret=eval("("+ret+")");
    var k=null;
    for (key in ret) {
      //alert(key+"//"+ret[key]);
      alert(ret[key]);
    }
      

  6.   

    没看到Lz回的这句,我前面是讲废话了var ret="key1=val1;key2=val2;key3=val3;key123=val123";
    ret=ret.replace(/key(\d+)=/g,'');
    var arr=ret.split(";");
    alert(ret);
    alert(arr);如果Lz的格式中[key1]这里面的'key'是固定的话,可以使用上面的方法替换掉所有的key~=