У меня есть for
, который генерирует серию. Основная проблема в том, что у меня только 9 цветов.
for (let i = 0; i < dataZCsv.length; i++) {
let colorNumber = i;
if (colorNumber > 8) {
}
let dataBlok = {
name: nazvyZCsv[i],
data: dataZCsv[i],
visible: jednaStopaTF,
regression: hodnoty.trendy,
regressionSettings: {
type: 'polynomial',
color: Highcharts.getOptions().colors[i --> colorNumber],
dashStyle: 'ShortDot',
name: " ",
hideInLegend: true
}
};
serie.push(dataBlok);
serie[0].visible = true;
};
Так что даже если i
превышает 8, он начнет писать i
больше 8 в color: Highcharts.getOptions().colors[i]
, и это проблема. У меня всего 9 цветов. Поэтому мне нужно сделать это, когда оно превысит 8, оно снова начнет отсчитывать от 0. Но i
все еще нужно использовать его в других переменных (name: nazvyZCsv[i], data: dataZCsv[i]
), где оно должно быть до максимального значения (dataZCsv.length
) .
В идеале я бы сделал отдельную переменную для номера цвета colorNumber
, которая, когда он достигнет 8, снова начинается с 0 до конца dataZCsv.length
.
Что-то вроде:
let colorNumber = i;
if (colorNumber > 8) {
colorNumber = 0;
colorNumber++;
}
или:
let colorNumber = i;
if (colorNumber > 8) {
colorNumber = 0;
for (let j = 0; j < dataZCsv.length - 9; j++) {
colorNumber + j;
}
}
Но это не работает в for
Я застрял на несколько часов и до сих пор не вижу решения. Можете ли вы помочь мне, пожалуйста?