Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript字符串转换为二维数组_Javascript_Jquery - Fatal编程技术网

将javascript字符串转换为二维数组

将javascript字符串转换为二维数组,javascript,jquery,Javascript,Jquery,这些数据来自使用jquery的getJSON方法的REST方法 "[Date.UTC(2010,0,0,0,0,0,0), 157],[Date.UTC(2010,0,0,0,0,420,1), 157],[Date.UTC(2010,0,0,0,0,420,2), 282],[Date.UTC(2010,0,0,0,0,600,3), 282],[Date.UTC(2010,0,0,0,0,600,4), 125],[Date.UTC(2010,0,0,0,0,900,5), 125],[Da

这些数据来自使用jquery的getJSON方法的REST方法

"[Date.UTC(2010,0,0,0,0,0,0), 157],[Date.UTC(2010,0,0,0,0,420,1), 157],[Date.UTC(2010,0,0,0,0,420,2), 282],[Date.UTC(2010,0,0,0,0,600,3), 282],[Date.UTC(2010,0,0,0,0,600,4), 125],[Date.UTC(2010,0,0,0,0,900,5), 125],[Date.UTC(2010,0,0,0,0,900,6), 282],[Date.UTC(2010,0,0,0,0,2100,7), 282],[Date.UTC(2010,0,0,0,0,2100,8), 125],[Date.UTC(2010,0,0,0,0,2400,9), 125],[Date.UTC(2010,0,0,0,0,2400,10), 295],[Date.UTC(2010,0,0,0,0,3600,11), 295],[Date.UTC(2010,0,0,0,0,3600,12), 125],[Date.UTC(2010,0,0,0,0,3900,13), 125],[Date.UTC(2010,0,0,0,0,3900,14), 288],[Date.UTC(2010,0,0,0,0,5100,15), 288],[Date.UTC(2010,0,0,0,0,5100,16), 125],[Date.UTC(2010,0,0,0,0,5400,17), 125]"
它以字符串的形式返回。我需要把它解析成一个二维数组。数组中的每个项都应该有一个日期和一个值

我还可以完全控制REST方法,因此可以更改数据返回的方式。我对尽快完成这项工作很感兴趣

以下是我们现在正在做的事情,我认为可以改进:

 var jqxhr = $.getJSON(getDataURL, function(dataResult) {
        var result = dataResult;

        result =result.replace(/\]\,\[/g, ']:[');
        result = result.replace(/\)\,/g, ');');

        var tempArray = result.split(':');

        var myarray = new Array();
        myarray[0] = new Array(2); // Make the first element an array of two elements
        for(i = 0; i < tempArray.length; i ++)
        {
          myarray[i] = tempArray[i].split(';');
          myarray[i][1] = myarray[i][1].replace(/\"/g,'');
          myarray[i][1] = myarray[i][1].replace(/\]/g,'');  
          myarray[i][0] = myarray[i][0].replace(/\[/g,'');                             
        }                                                               
    })
var jqxhr=$.getJSON(getDataURL,函数(dataResult)){
var结果=数据结果;
结果=结果。替换(/\]\,\[/g',]:[');
结果=结果。替换(/\)\,/g');';
var tempArray=result.split(“:”);
var myarray=新数组();
myarray[0]=新数组(2);//将第一个元素设置为两个元素的数组
对于(i=0;i
您应该使用JSON将数据从服务器返回到JS脚本。这将非常容易将其作为一个数组进行操作。

您应该使用JSON将数据从服务器返回到JS脚本。这将非常容易将其作为一个数组进行操作。

正如我将为此受到抨击一样(
eval
往往是一种安全风险),我会这样做

var myarray = eval("[" + result + "]");

尽管我会因此受到抨击(
eval
往往是一种安全风险),我还是会这么做

var myarray = eval("[" + result + "]");

听起来很可怕,我在字符串的开头和结尾放上括号,然后使用eval@Joseph我曾考虑过使用jQuery.parseJSON,但我认为我的字符串对该函数无效。我将尝试发回数据,使其有效。听起来很可怕,我会在字符串的开头和结尾放上括号,然后使用eval@Joseph我想关于使用jQuery.parseJSON,但我认为我的字符串对该函数无效。我将尝试发回数据,使其有效。我将发布相同的答案。在这种情况下,
eval
有效(您甚至不需要添加括号)。但是在使用
eval
之前,应该知道他在做什么。可以从阅读以下线索开始:@bfavareto哇!感谢链接!我回家后一定会阅读它。此外,我在没有括号的情况下尝试了它,它只为它分配了字符串中的最后一个数组,因此我认为括号是必要的。再次感谢你提供了link!关于括号,你是对的,对不起!我只测试了原始字符串的一部分…eval本身并不是一种安全风险。从未知源运行代码而不进行检查可能是,但你不需要eval。我将发布相同的答案。在这种情况下,
eval
有效(您甚至不需要添加括号)。但是在使用
eval
之前,应该知道他在做什么。可以从阅读以下线索开始:@bfavareto哇!感谢链接!我回家后一定会阅读它。此外,我在没有括号的情况下尝试了它,它只为它分配了字符串中的最后一个数组,因此我认为括号是必要的。再次感谢你提供了link!关于括号,你是对的,对不起!我只使用原始字符串的一部分进行了测试…eval本身并不是一种安全风险。从未知源运行代码而不进行检查可能是,但你不需要eval。