2014-12-23 2 views
0

Первая часть моего сценария выглядит следующим образом:Незначительные изменения в формат массива для использования с ФЛОТ диаграмм

$.getJSON('age_get.php', function(data) { 
    var ticks1=[] 
    $.each(data, function(key, val) {     
    ticks1.push("["+val.index+",'"+val.value+"']"); 
      }); 
var ticks6 =[(ticks1.join())] 

Это выходы (для ticks6) что-то вроде этого:

["[90,'18-24'],[91,'25-29'],[92,'30-34'],[93,'35-39'…'60-64'],[99,'65-69'],[100,'70-74'],[101,'75-99']"] 

Я пытаясь использовать этот массив в картах флота, и это почти идеально.

Код в сюжетной части моего сценария, чтобы нарисовать ось у выглядит следующим образом:

yaxis: { 
    ticks:ticks6, 
    autoscaleMargin: 0.02 
    }, 

формат, что он ожидает, это:

[[90,'18-24'],[91,'25-29'],[92,'30-34'],[93,'35-39'…'60-64'],[99,'65-69'],[100,'70-74'],[101,'75-99']] 

Это почти то, что у меня есть , но мне нужна удаленная пара двойных кавычек. Я не могу понять, как это сделать.

Куда я иду не так?

+0

Я не знаком с Flot, но от того, что вы говорите, ожидаемый формат, кажется, многомерный массив, или массив массивов, а не строку. – Marventus

ответ

2

У вас есть дополнительный шаг, который создает большую строку. Таким образом, ticks6 действительно представляет собой массив с одним элементом, который представляет собой большую строку, которая выглядит как массив.

Длина массива ticks6, как показано на вопрос 1.

Все, что вам нужно сделать, это нажать каждый новый массив 2 элемента прямо в массив, который будет использоваться для ФЛОТ данных

var ticks6 = []; /* array to pass to flot*/ 
$.getJSON('age_get.php', function (data) {  
    $.each(data, function (key, val) { 
     /* no quotes wrapping array braces, push 2 element array into main array */ 
     ticks6.push([val.index, "'" + val.value + "'"]); 
    });  
}); 

это может быть легче визуализировать массив подтолкнуть этот путь:

$.each(data, function (key, val) { 
    /* create 2 element array */ 
    var chartPointArray = [val.index, "'" + val.value + "'"]; 
    /* push 2 element array to main array */ 
    ticks6.push(chartPointArray ); 
}); 
+0

Это была проблема. Ваше исправление отлично работает. Спасибо за дополнительную информацию. – jonmrich

Смежные вопросы