Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как начать массив с еденицы (https://javascript.ru/forum/dom-window/79342-kak-nachat-massiv-s-edenicy.html)

ureech 26.01.2020 22:03

Как начать массив с еденицы
 
Всем привет.
for(var i=0; i<data.length; i++) {
alert(data.length) // 0,1,2
}

Как сделать, что бы было 1,2,3?

laimas 26.01.2020 23:51

var i=1;

ureech 27.01.2020 07:09

Цитата:

Сообщение от laimas
var i=1;

Нет.Так первый элемент data.length[0] теряется при выводе.
data[i] координаты графика, а data.length[i] значение абциссы. И получается,что следующее значение после x(0,0), x(data.length[0], data[0]), те на абциссе снова ноль,после нуля

ureech 27.01.2020 07:40

https://yadi.sk/i/-CzE5-RZc6fHig

ksa 27.01.2020 07:42

ureech, покажи пример своего массива и расскажи что ты с ним собрался делать...

ureech 27.01.2020 09:39

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 можно это решить,но там уж очень сложно найти что надо)

Белый шум 27.01.2020 10:05

xAxis: {
categories: ['1', '2', '3']
},
^^ так пробовали?
https://api.highcharts.com/highcharts/xAxis

ureech 27.01.2020 10:29

Цитата:

Сообщение от Белый шум (Сообщение 519231)
xAxis: {
categories: ['1', '2', '3']
},
^^ так пробовали?
https://api.highcharts.com/highcharts/xAxis

Так работает, но кол-во точек заранее не известно.

ureech 27.01.2020 10:37

Решил выводить не 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

Белый шум 27.01.2020 10:49

Цитата:

Сообщение от ureech
Так работает, но кол-во точек заранее не известно.

xAxis: {
categories: (function(num){var arr=[];for(var n=1;n<=num;n++){arr.push(n+'');};return arr;})(num),
},


Часовой пояс GMT +3, время: 17:53.