Как начать массив с еденицы
Всем привет.
for(var i=0; i<data.length; i++) { alert(data.length) // 0,1,2 } Как сделать, что бы было 1,2,3? |
var i=1;
|
Цитата:
data[i] координаты графика, а data.length[i] значение абциссы. И получается,что следующее значение после x(0,0), x(data.length[0], data[0]), те на абциссе снова ноль,после нуля |
|
ureech, покажи пример своего массива и расскажи что ты с ним собрался делать...
|
function Full_Report_Eda(ot_eda,to_eda,user,grf_eda) { $.ajax({ url:'/dieta/'+user+'/full-report.html', data:{grf_eda: grf_eda,ot_eda:ot_eda,to_eda:to_eda}, dataType:'json', success : function (data) { var res1 = []; var res2 = []; var res3 = []; var res4 = []; for(var i=1; i<data.length; i++) { res1 += data[i].percent_kkal+','; res2 += data[i].percent_carb+','; res3 += data[i].percent_fat+','; res4 += data[i].percent_prot+','; } Grafics_Eda(res1,res2,res3,res4,data.length) } }); }; function Grafics_Eda(data1,data2,data3,data4,num) { //var num = num.unshift(0); var chart2; var period = ''; var kkal = data1.slice(0, -1); kkal = kkal.split(',') for(var i=0; i<kkal.length; i++) { kkal[i] = +kkal[i]; } var carb = data2.slice(0, -1); carb = carb.split(',') for(var i=0; i<carb.length; i++) { carb[i] = +carb[i]; } var fat = data3.slice(0, -1); fat = fat.split(',') for(var i=0; i<fat.length; i++) { fat[i] = +fat[i]; } var prot = data4.slice(0, -1); prot = prot.split(',') for(var i=0; i<prot.length; i++) { prot[i] = +prot[i]; } chart2 = new Highcharts.Chart({ chart: { renderTo: 'chart_2', type: 'line', height: 350, }, title: { text: 'Потребление энергии за '+num+' дня' }, xAxis: { categories: num // вот тут data.length. Картинка в сообщении выше }, yAxis: { title: { text: 'Interviewed' } }, series: [{ name: 'Калории', data: kkal }, { name: 'Углеводы', data: carb }, { name: 'Жиры', data: fat }, { name: 'Белок', data: prot }] }); } Возможно в настройках скрипта Highcharts можно это решить,но там уж очень сложно найти что надо) |
xAxis: {
categories: ['1', '2', '3'] }, ^^ так пробовали? https://api.highcharts.com/highcharts/xAxis |
Цитата:
|
Решил выводить не data.length, а даты(date),но что то не получается.
На входе в ф-цию Grafics_Eda(), имею массив [{"date":"2020-01-20","percent_kkal":"9.7","percent_carb":"14.0","percent_fat":"5.0","percent_prot":"15.5"},{"date":"2020-01-21","percent_kkal":"3.8","percent_carb":"1.8","percent_fat":"4.9","percent_prot":"3.5"},{"date":"2020-01-23","percent_kkal":"10.8","percent_carb":"10.2","percent_fat":"2.0","percent_prot":"34.5"},{"date":"2020-01-27","percent_kkal":"9.7","percent_carb":"7.9","percent_fat":"29.9","percent_prot":"4.6"}] function Grafics_Eda(data1,data2,data3,data4,date) { var dat = date.split(',') for(var i=0; i<date.length; i++) { date[i] = +date[i]; } .... } Подставляю в xAxis: { categories: date } выводит NaN |
Цитата:
xAxis: { categories: (function(num){var arr=[];for(var n=1;n<=num;n++){arr.push(n+'');};return arr;})(num), }, |
Часовой пояс GMT +3, время: 17:53. |