[[1,1,"test1(D)",0,"test1","*99#", "","",2,1,"0",1,"0","0",1],[]];
代码传过来以后成字符串了,但是页面需要的是数组,现在怎么把上面这个字符串拆分成一个2维数组?
比如 arr[0][0]=1
     arr[0][2]="test1(d)"
求高手帮忙解答。

解决方案 »

  1.   

    如果你的字符串符合标准那最简单的方式是evalvar arr = eval([[1,1,"test1(D)",0,"test1","*99#", "","",2,1,"0",1,"0","0",1],[]]);
    alert(arr[0][0]);
    alert(arr[0][2]);
      

  2.   

    少了单引号:var arr = eval('[[1,1,"test1(D)",0,"test1","*99#", "","",2,1,"0",1,"0","0",1],[]]');
    alert(arr[0][0]);
    alert(arr[0][2]);
      

  3.   

    但是我这个数组的长度不是固定的,split的话怎么来截取呢?按照那个字符来截 还是2维的数组,求代码参考
      

  4.   


    var str="[[1,1,"test1(D)",0,"test1","*99#", "","",2,1,"0",1,"0","0",1],[]]";
    //将字符串转换成数组
    eval("var arr="+str+";");
    alert(arr[0][0]);
    alert(arr[0][2]);
      

  5.   

    上面引号打错了。改下var str='[[1,1,"test1(D)",0,"test1","*99#", "","",2,1,"0",1,"0","0",1],[]]';
    //将字符串转换成数组
    eval("var arr="+str+";");
    alert(arr[0][0]);
    alert(arr[0][2]);
      

  6.   

    谢谢大家eval 这个函数能详细解释下我学习下,可以转换出来
      

  7.   

    eval是将一个字符串当成js脚本执行。比如:var a="4+5";
    //我选择想要获取到4+5的计算结果,怎么办?var str="var b="+a+";";//拼一个符合js语法的字符串,这个时候str的值就等于var b=4+5;
    //下面只需要将str这个字符串当成脚本执行就可以了。所以就需要使用eval
    eval(str);//动态执行脚本
    //返回b变量的值
    alert(b); //这里会弹出9