Как снова начать считать, когда значение for превышает определенное значение? - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть 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

Я застрял на несколько часов и до сих пор не вижу решения. Можете ли вы помочь мне, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 17 апреля 2020

Вы можете просто использовать цвета [i% 9], где 9 - количество цветов

2 голосов
/ 17 апреля 2020

Можно взять остаток индекса с длиной массива цветов ( оператор напоминания %).

let colors = Highcharts.getOptions().colors;

позже в объекте

color: colors[i % colors.length]

Вам нужно разделить, чтобы получить массив и получить значение, если вы могли бы получить произвольное количество цветов, которые могут быть неизвестны заранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...