Skip to content Skip to sidebar Skip to footer

How To Process A List Of Complex Data Structures

In High Charts i have an array as follows, But if i try to set extremes of the chart by returning the Highest value of the Array, its showing NaN Error. function aoDashboardData()

Solution 1:

... referring to this comment of mine - How to process a list of complex data structures - the sketched approach might look like that, even though I still do not really know what are the object properties of a chart item you are going to compare and/or extract ...

var
    chart = $('#ao-projectssummry-chart').highcharts(),

    minMaxValues = chart.series.reduce(function (collector, item, idx/*, list*/) {
        var
            dataMin  = item.dataMin,
            dataMax  = item.dataMax,
            minValue = Math.min(collector.minValue, dataMin),
            maxValue = Math.max(collector.maxValue, dataMax);

        if (minValue == dataMin) {
            collector.minValue = dataMin;
            collector.minValueItemIndex = idx;
        }
        if (maxValue == dataMax) {
            collector.maxValue = dataMax;
            collector.maxValueItemIndex = idx;
        }
        return collector;

    }, {
        minValue: Number.POSITIVE_INFINITY,
        maxValue: Number.NEGATIVE_INFINITY,
        minValueItemIndex: -1,
        maxValueItemIndex: -1
    }),

    minAssortmentValue = minMaxValues.minValue,
    maxAssortmentValue = minMaxValues.maxValue;

console.log("minMaxValues : ", minMaxValues);
console.log("minAssortmentValue, maxAssortmentValue : ", minAssortmentValue, maxAssortmentValue);

Pasting the just provided code snipped into the console of your provided fiddle does cause the following output:

minMaxValues :  Object {
    minValue: 1458000000000,
    maxValue: 1485820800000,
    minValueItemIndex: 9,
    maxValueItemIndex: 14
}
minAssortmentValue, maxAssortmentValue :  1458000000000 1485820800000

Post a Comment for "How To Process A List Of Complex Data Structures"