Highchart, возможно ли иметь секцию 'for loop' внутри секции 'series'? - PullRequest
0 голосов
/ 04 октября 2018

В настоящее время я использую Stacked and grouped column старшую диаграмму, которая может видеть код в этой ссылке jsfiddle. Моя цель - зацикливаться внутри секции series, чтобы я мог сгенерировать столбец с накоплением.Я использую Laravel Framework для этой системы.

Текущий код (jsfiddle)

    series: [
    {
        name: 'John',
        color: 'olive',
        data: [5, 3, 4, 7, 2],
        stack: '2014',
        xAxis: 1
    },
    ...

Попытка кода (это способ сделать это?)

var temp = ["john", "olive", "[5, 3, 4, 7, 2]", "2014", 1];

series: [
for(var i=0; i<3; i++)
{
    {
        name: temp[0],
        color: temp[1],
        data: temp[2],
        stack: temp[3],
        xAxis: temp[4]            

    },
}

РЕДАКТИРОВАТЬ ответ для @Lucky Saini answer

enter image description here

Ответы [ 4 ]

0 голосов
/ 04 октября 2018

Вы не можете написать код таким способом в массиве, но вы можете создать функцию IIFE:

    series: (function() {
        var series = [],
            temp = ["john", "olive", "[5, 3, 4, 7, 2]", "2014", 1];

        for (var i = 0; i < 3; i++) {
            series.push({
                name: temp[0],
                color: temp[1],
                data: JSON.parse(temp[2]),
                stack: temp[3],
                xAxis: temp[4]

            });
        }

        return series;
    }())

Демонстрационная версия: http://jsfiddle.net/BlackLabel/01qzg4e5/

0 голосов
/ 04 октября 2018

Нет, вы не можете использовать цикл for внутри метода / функции.

Вместо этого вы можете зациклить его вне функции и сохранить его в массиве.И используйте этот массив, передав его параметру серии.

0 голосов
/ 04 октября 2018

Вы можете использовать этот подход для добавления данных в переменную series, используя цикл for.

var temp = ["john", "olive", "[5, 3, 4, 7, 2]", "2014", 1];

series = [];
for(var i=0; i<3; i++)
{
    item = {
        name: temp[0],
        color: temp[1],
        data: temp[2],
        stack: temp[3],
        xAxis: temp[4]            

    };

    series.push(item);
}

console.log(series);
0 голосов
/ 04 октября 2018

Я бы предложил построить массив рядов в php и использовать json кодировать массив php , а затем проанализировать данные json в javascript, используя JSON Parse в javascript

ДругойКстати, в вашем .blade файле series: <?php echo json_encode(<php array here>) ?>

дайте мне знать, если он работает для вас:)

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