JSFiddle - React, Tailwind, and code Playground

by harifrais

JavaScript

var myArray = [
    {
        "project": "Cox data aggregation",
        "hours": {
            "APPLICATIONS DEVELOPMENT": 58265
        }
    },
    {
        "project": "Pulz",
        "hours": {
            "APPLICATIONS DEVELOPMENT": 3940
        }
    },
    {
        "project": "SKY",
        "hours": {
            "DATA MANAGEMENT AND OPERATION": 563250
        }
    },
    {
        "project": "Sciera Internal Application",
        "hours": {
            "APPLICATIONS DEVELOPMENT": 33325,
            "DATA MANAGEMENT AND OPERATION": 328095
        }
    },
    {
        "project": "Timesheet",
        "hours": {
            "APPLICATIONS DEVELOPMENT": 137215
        }
    },
    {
        "project": "C-TELL",
        "hours": {
            "DATA MANAGEMENT AND OPERATION": 488470
        }
    },
    {
        "project": "RealWatch",
        "hours": {
            "APPLICATIONS DEVELOPMENT": 3015,
            "DATA MANAGEMENT AND OPERATION": 71175
        }
    },
    {
        "project": "Aroscop",
        "hours": {
            "APPLICATIONS DEVELOPMENT": 99160
        }
    },
    {
        "project": "Sciera Web Application",
        "hours": {
            "APPLICATIONS DEVELOPMENT": 72720
        }
    }
];

var res = myArray.reduce(function(res, currentValue) {
    if ( res.indexOf(currentValue.hours) === -1 ) {
      res.push(currentValue.hours);
    }
    return res;
}, []).map(function(hours) {
    return {
        name: hours,
        data: myArray.filter(function(_el) {
          return _el.hours === hours;
       }).map(function(_el) { return _el.hours; })
    }
});

console.log(res);