Skip to content

Instantly share code, notes, and snippets.

@benheb

benheb/shifts.js Secret

Created March 27, 2014 21:44
Show Gist options
  • Save benheb/fb42caaeba48b67021fc to your computer and use it in GitHub Desktop.
Save benheb/fb42caaeba48b67021fc to your computer and use it in GitHub Desktop.
var data = [
{
"player": "Joe",
"shifts": [
{ "shift_start": 3, "shift_end": 5 }, // Joe started playing at shift #3, and stopped after shift #5
{ "shift_start": 7, "shift_end": 11 }
]
},
{
"player": "Marc",
"shifts": [
{ "shift_start": 1, "shift_end": 4 },
{ "shift_start": 9, "shift_end": 13 }
]
},
{
"player": "John",
"shifts": [
{ "shift_start": 4, "shift_end": 8 },
{ "shift_start": 10, "shift_end": 12 }
]
}
];
var shifts = {};
var i = data.length;
while (i>0) {
data.forEach(function(player) {
for ( var e = player.shifts[0].shift_start; e <= player.shifts[0].shift_end; e++ ) {
if ( !shifts[e] ) shifts[ e ] = {};
shifts[ e ][ player.player ] = player.player;
}
for ( var e = player.shifts[1].shift_start; e <= player.shifts[1].shift_end; e++ ) {
if ( !shifts[e] ) shifts[ e ] = {};
shifts[ e ][ player.player ] = player.player;
}
});
i--
}
console.log('shifts', shifts);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment