JSFiddle - React, Tailwind, and code Playground

by gunderson

JavaScript

var data = [{
        date: "12/27/2012",
        Type: "http_200",
        Val: 190,
        Irrelevant: "Stringa"
    }, {
        date: "12/28/2012",
        Type: "http_200",
        Val: 10,
        Irrelevant: "Stringb"
    }, {
        date: "12/29/2012",
        Type: "http_404",
        Val: 100,
        Irrelevant: "Stringc"
    }, {
        date: "12/30/2012",
        Type: "http_302",
        Val: 90,
        Irrelevant: "Stringd"
    }, ];
    var types = [];

    function getTypes(data) {
        for (var i = 0, endi = data.length; i < endi; ++i) {
            var obj = data[i]
            if (types.indexOf(obj.Type)) types.push(obj.type);
        }
    }

    function addAllTypesToData(data, types) {
        for (var data_i = 0, data_endi = data.length; data_i < data_endi; ++data_i) {
            var obj = data[i];
            for (var type_i = 0, type_endi = types.length; type_i < type_endi; ++type_i) {
                obj[types[type_i]] = (obj.Type === types[type_i) ? obj.Val : 0;
                }
            }
        }

        getTypes(data);
        addAllTypesToData(data, types);