var s='${ll}';
s内容是[[百度文摘, 已启用, 965, 78, 8.08, 0.74358976, 58.0], [百度百科, 已启用, 1860, 1200, 64.52, 0.105, 126.0], [百度博客, 已启用, 6531, 5211, 79.79, 0.109192096, 569.0], [百度MP3, 已启用, 0, 0, 0.0, NaN, 0.0], [百度, 已启用, 0, 0, 0.0, NaN, 0.0], [谷歌, 已启用, 0, 0, 0.0, NaN, 0.0], [腾讯搜搜, 已启用, 0, 0, 0.0, NaN, 0.0]]怎么把s 转化为2维数组啊有简单方法没?

解决方案 »

  1.   

    var s = "[[百度文摘, 已启用, 965, 78, 8.08, 0.74358976, 58.0], [百度百科, 已启用, 1860, 1200, 64.52, 0.105, 126.0], [百度博客, 已启用, 6531, 5211, 79.79, 0.109192096, 569.0], [百度MP3, 已启用, 0, 0, 0.0, NaN, 0.0], [百度, 已启用, 0, 0, 0.0, NaN, 0.0], [谷歌, 已启用, 0, 0, 0.0, NaN, 0.0], [腾讯搜搜, 已启用, 0, 0, 0.0, NaN, 0.0]]";var temp = s.substring(1);     //去除第一个[var a = temp.match(/\[.*?\]/g);//根据[]匹配数组for (var i = 0, n = a.length;i<n; i++)
    {
         a[i] = a[i].substring(1, a[i].length-1);  //去除[]
         a[i] = a[i].replace(/ /g, "");            //去除空格
         a[i] = a[i].split(",");                   //根据,分割数组}
      

  2.   

    本来就是数组标题干嘛说“string转数组问题”
      

  3.   

    因为我用var s='${ll}';这个el表达式是数组 ${ll}赋给var s的时候他没有""所有的""都没有了所以我想只能把${ll}这个el表达式变成字符串再转变成数组了
      

  4.   

    已经解决了2楼正解虽然麻烦,那个var temp = s.substring(1);     //去除第一个[为什么不用去掉最后一个]啊?
      

  5.   

    你原来的意思是2维数组<script>
    s="[[百度文摘, 已启用, 965, 78, 8.08, 0.74358976, 58.0], [百度百科, 已启用, 1860, 1200, 64.52, 0.105, 126.0], [百度博客, 已启用, 6531, 5211, 79.79, 0.109192096, 569.0], [百度MP3, 已启用, 0, 0, 0.0, NaN, 0.0], [百度, 已启用, 0, 0, 0.0, NaN, 0.0], [谷歌, 已启用, 0, 0, 0.0, NaN, 0.0], [腾讯搜搜, 已启用, 0, 0, 0.0, NaN, 0.0]]"
    s=s.replace(/\[/g,"['")
    s=s.replace(/\]/g,"']")
    s=s.replace(/,/g,"','")
    s=s.replace(/ \[/g,"[")
    s=s.replace(/\]','\[/g,"],[")
    s=s.replace(/\['\['/g,"[['")
    s=s.replace(/'\]'/g,"']")
    arr = eval(s)
    for(i=0;i<arr.length;i++)
    {
    document.write("<br/>")
    for(j=0;j<arr[i].length;j++)
    document.write(arr[i][j] + " || ")
    }
    </script>