将$get结果字符串转换为javascript数组

将$get结果字符串转换为javascript数组,javascript,jquery,multidimensional-array,get,Javascript,Jquery,Multidimensional Array,Get,我希望使用jqplot插件()生成一个饼图,但是我很难将$get函数的结果转换成jqplot函数可以接受的可用数据 您可以在上面的jqplot链接中看到我需要如何创建用于显示饼图的数据变量 下面是我的$.get函数,它当前返回一个字符串: //data is returned as a string: 'some_field_name',10,'some_other_field,33 etc $.get("notesajax.php", {month:monthFilter, area:area

我希望使用jqplot插件()生成一个饼图,但是我很难将$get函数的结果转换成jqplot函数可以接受的可用数据

您可以在上面的jqplot链接中看到我需要如何创建用于显示饼图的数据变量

下面是我的$.get函数,它当前返回一个字符串:

//data is returned as a string: 'some_field_name',10,'some_other_field,33 etc
$.get("notesajax.php", {month:monthFilter, area:areaFilter}, function(data) {
    var arr = data.split(",");
    var results = [];
    for (var i = 0; i < arr.length; i++) {
        mini = [];
        mini[arr[i]] = "'"+arr[i]+"',"+arr[i+1];
        results.push(mini);
        i++;
    }
但是,到目前为止,我无法将$get返回的数据转换为jqplot函数可以接受的格式。

var field,value,data=[],str=“'some_field_name',10,'some_other_field,33”;
var field, value, data = [], str = "'some_field_name',10,'some_other_field,33";
var arr = str.split(',');
// just add 2 to each iteration to get every second item (last argument is i += 2):
for (var i = 0; i < arr.length; i += 2) {
  field = arr[i].replace(/'/g, ""); // replace ', because otherwise your string will be "'some_field_name'"
  value = parseInt(arr[i+1], 10); // parseInt because you want numbers, but got a string
  data.push([field, value]); // push into your data-array an array with your field and value
}
var arr=str.split(','); //只需在每个迭代中添加2即可获得第二个项目(最后一个参数是i+=2): 对于(变量i=0;i

jsfiddle here:

您生成了错误的数组。您应该直接从服务器发送JSON对象,这是推荐的并且很简单,或者让您的解析脚本正常

$.get("notesajax.php", {month:monthFilter, area:areaFilter}, function(data) {
var arr = data.split(",");
var results = [];
for (var i = 0; i < arr.length; i++) {
    var mini = new Array();
    mini.push(arr[i]);
    mini.push(arr[i+1]);
    results.push(mini);
}
$.get(“notesajax.php”,{month:monthFilter,area:areaFilter},函数(数据){
var arr=数据分割(“,”);
var结果=[];
对于(变量i=0;i
我使用了您的代码并得出了以下解决方案,您的原始代码存在一些问题,特别是在如何构建迷你阵列方面

var arr = ['some_field_name',10,'some_other_field',33];
var results = [];
for (var i = 0; i < arr.length; i+=2) {        
    var mini = ["'"+arr[i]+"'",+arr[i+1]];
    results.push(mini);
}
alert(results[0][0]);
var arr=['some_field_name',10,'some_other_field',33];
var结果=[];
对于(var i=0;i
var arr = ['some_field_name',10,'some_other_field',33];
var results = [];
for (var i = 0; i < arr.length; i+=2) {        
    var mini = ["'"+arr[i]+"'",+arr[i+1]];
    results.push(mini);
}
alert(results[0][0]);