2012-04-19 4 views
0

Я использую библиотеку jqPlot для построения диаграмм. Я использую JS для получения JSON-файла, строю строку с использованием значений из файла JSON, конвертирую ее в вложенный массив (единственный формат, который нравится jqPlot), а затем переходит в jqplot. jqPlot отлично читает arry и строит правильные значения, но добавляет значение 0 в конце.jqPlot добавление 0 значение

Вот код строки:

$(function() { 
    $.getJSON("test.json", chartData); 
    function chartData(data) { 
       $.each(data.values, function(index,val){ 
        chartValues += val + ","; 
       }); 
      }; 

вот код, который преобразует его в гнездовой массив:

var temp = new Array(); 
temp = chartValues.split(','); 
var temp2 = new Array(temp); 
alert(temp2); 

Так что, когда temp2 передается jqplot добавляет ноль, но когда я прохожу это идентичный вложенный массив, называемый тестом, который объявляется вручную, он не добавляет нуль. Вот они для сравнения:

var test = [[12,32,21,23,34,43,52,86,25,]]; 

и вот temp2

[[12,32,21,23,34,43,52,86,25,]] 

Любые идеи? Я также был бы признателен за любую помощь в моей логике в этом, поскольку я чувствую, что я могу создать вложенный массив более элегантно.

ответ

0

Удаление последнего символа в строке (до преобразования в массив) было решением в этом случае.

newStr = chartValues.substring(0, chartValues.length-1); 
0

Я не уверен, что 100% на данный момент, но я думаю, что ..... 86,25,]] не прав. Это может быть причиной добавления нулевого значения. Попробуйте устранить это. Другое дело, что вы можете напрямую обращаться к массивам данных в json-файлах, используя базовые методы доступа. Попробуйте в json org.

+0

Спасибо за ответ. Я понял, что, хотя он не отображает окончательное значение нуля, новый массив добавлял значение 0 после последнего «,» - простая строка кода (ниже) исправила проблему – Squishy

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