JSFiddle - React, Tailwind, and code Playground

by vinodlouis

JavaScript

let job = [{
    name: 'J1',
    value: 76,
    startTime: 54,
  },
  {
    name: 'J2',
    value: 43,
    startTime: 130,
  },
  {
    name: 'J5',
    value: 65,
    startTime: 175,
  },
  {
    name: 'J4',
    value: 43,
    startTime: 240,
  },
  {
    name: 'J3',
    value: 76,
    startTime: 283,
  },
];

let sum = 0;
for (let i = 0; i < job.length; i++) {
  if (sum != job[i].startTime) {
    console.log(i, "hdfff",job[i],sum)
    job.splice(i, 0, {
      name: 'Idle',
      value: job[i - 1] ?
        job[i].startTime - (job[i - 1].startTime + job[i - 1].value) :
        job[i].startTime,
      startTime: job[i - 1] ? job[i - 1].startTime + job[i - 1].value : 0,
    });
    if (i > 0) {
      sum = sum + job[i].value + job[i+1].value;
      i++;
      continue;
    }
  }
  sum += job[i].value;
}
console.log(job);