Created
September 4, 2014 19:45
-
-
Save mikekavouras/152f5b45c253cf5b4243 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var data = { | |
"result": { | |
"lat": "40.693219", | |
"lng": "-73.989998", | |
"trains": [ | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T15:20:30-04:00", | |
"train_id": "02 1408 241/FLA", | |
"line": "2", | |
"trip_id": "084800_2..S01X023", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:20:30-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T15:25:21-04:00", | |
"train_id": "02 1417 241/FLA", | |
"line": "2", | |
"trip_id": "085700_2..S01X023", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:25:21-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T15:33:49-04:00", | |
"train_id": "02 1424+ 241/FLA", | |
"line": "2", | |
"trip_id": "086450_2..S01X023", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:33:49-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T15:41:17-04:00", | |
"train_id": "02 1433 241/FLA", | |
"line": "2", | |
"trip_id": "087300_2..S01X023", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:41:17-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:04:34-04:00", | |
"train_id": "02 1440+ 241/FLA", | |
"line": "2", | |
"trip_id": "088050_2..S01X023", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:04:34-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:04:57-04:00", | |
"train_id": "02 1450+ 241/FLA", | |
"line": "2", | |
"trip_id": "089050_2..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:04:57-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T15:20:50-04:00", | |
"train_id": "02 1457+ FLA/241", | |
"line": "2", | |
"trip_id": "089750_2..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:20:50-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:11:26-04:00", | |
"train_id": "02 1458 241/FLA", | |
"line": "2", | |
"trip_id": "089800_2..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:11:26-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T15:27:31-04:00", | |
"train_id": "02 1504 FLA/241", | |
"line": "2", | |
"trip_id": "090400_2..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:27:31-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:13:30-04:00", | |
"train_id": "02 1505+ 241/FLA", | |
"line": "2", | |
"trip_id": "090550_2..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:13:30-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:24:27-04:00", | |
"train_id": "02 1513+ 241/FLA", | |
"line": "2", | |
"trip_id": "091350_2..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:24:27-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T15:35:25-04:00", | |
"train_id": "02 1513+ FLA/241", | |
"line": "2", | |
"trip_id": "091350_2..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:35:25-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T15:44:30-04:00", | |
"train_id": "02 1521+ FLA/241", | |
"line": "2", | |
"trip_id": "092150_2..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:44:30-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:37:30-04:00", | |
"train_id": "02 1523 241/FLA", | |
"line": "2", | |
"trip_id": "092300_2..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:37:30-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T15:52:30-04:00", | |
"train_id": "02 1527 FLA/241", | |
"line": "2", | |
"trip_id": "092700_2..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:52:30-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:44:30-04:00", | |
"train_id": "02 1529+ 241/FLA", | |
"line": "2", | |
"trip_id": "092950_2..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:44:30-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T15:56:30-04:00", | |
"train_id": "02 1533 FLA/241", | |
"line": "2", | |
"trip_id": "093300_2..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:56:30-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:51:30-04:00", | |
"train_id": "02 1538 241/FLA", | |
"line": "2", | |
"trip_id": "093800_2..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:51:30-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T16:04:30-04:00", | |
"train_id": "02 1541+ FLA/241", | |
"line": "2", | |
"trip_id": "094150_2..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:04:30-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:58:30-04:00", | |
"train_id": "02 1544+ 241/FLA", | |
"line": "2", | |
"trip_id": "094450_2..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:58:30-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T16:12:30-04:00", | |
"train_id": "02 1547+ FLA/241", | |
"line": "2", | |
"trip_id": "094750_2..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:12:30-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T09:18:00-04:00", | |
"train_id": "03 0837+ 135/NLT", | |
"line": "3", | |
"trip_id": "051750_3..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T09:18:00-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T15:27:46-04:00", | |
"train_id": "03 1445+ 148/NLT", | |
"line": "3", | |
"trip_id": "088550_3..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:27:46-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T15:22:09-04:00", | |
"train_id": "03 1454 NLT/148", | |
"line": "3", | |
"trip_id": "089400_3..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:22:09-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T15:35:08-04:00", | |
"train_id": "03 1455 148/NLT", | |
"line": "3", | |
"trip_id": "089500_3..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:35:08-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T15:31:39-04:00", | |
"train_id": "03 1502 NLT/148", | |
"line": "3", | |
"trip_id": "090200_3..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:31:39-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T15:44:22-04:00", | |
"train_id": "03 1504 148/NLT", | |
"line": "3", | |
"trip_id": "090400_3..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:44:22-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T15:37:58-04:00", | |
"train_id": "03 1510 NLT/148", | |
"line": "3", | |
"trip_id": "091000_3..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:37:58-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T15:51:32-04:00", | |
"train_id": "03 1512 148/NLT", | |
"line": "3", | |
"trip_id": "091200_3..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:51:32-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T15:44:37-04:00", | |
"train_id": "03 1516 NLT/148", | |
"line": "3", | |
"trip_id": "091600_3..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:44:37-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T15:57:52-04:00", | |
"train_id": "03 1518 148/NLT", | |
"line": "3", | |
"trip_id": "091800_3..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:57:52-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:01:30-04:00", | |
"train_id": "03 1522 148/NLT", | |
"line": "3", | |
"trip_id": "092200_3..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:01:30-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T15:52:30-04:00", | |
"train_id": "03 1524 NLT/148", | |
"line": "3", | |
"trip_id": "092400_3..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T15:52:30-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:09:30-04:00", | |
"train_id": "03 1527+ 148/NLT", | |
"line": "3", | |
"trip_id": "092750_3..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:09:30-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T16:00:30-04:00", | |
"train_id": "03 1531 NLT/148", | |
"line": "3", | |
"trip_id": "093100_3..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:00:30-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:17:30-04:00", | |
"train_id": "03 1536 148/NLT", | |
"line": "3", | |
"trip_id": "093600_3..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:17:30-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T16:08:30-04:00", | |
"train_id": "03 1540 NLT/148", | |
"line": "3", | |
"trip_id": "094000_3..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:08:30-04:00" | |
}, | |
{ | |
"direction": 3, | |
"scheduled_track": "2", | |
"arrival_time": "2014-09-04T16:25:30-04:00", | |
"train_id": "03 1544 148/NLT", | |
"line": "3", | |
"trip_id": "094400_3..S01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:25:30-04:00" | |
}, | |
{ | |
"direction": 1, | |
"scheduled_track": "3", | |
"arrival_time": "2014-09-04T16:16:30-04:00", | |
"train_id": "03 1548 NLT/148", | |
"line": "3", | |
"trip_id": "094800_3..N01R", | |
"start_date": "20140904", | |
"departure_time": "2014-09-04T16:16:30-04:00" | |
} | |
], | |
"id": "232", | |
"name": "Borough Hall" | |
} | |
} | |
function addMinutes(date, minutes) { | |
return new Date(date.getTime() + minutes*60000); | |
} | |
function subtractMinutes(date, minutes) { | |
return new Date(date.getTime() - minutes*60000); | |
} | |
var trains = data.result.trains; | |
var north = trains.filter(function(t) { return t.direction === 1; }); | |
var relevant = north.filter(function(t) { return new Date(t.arrival_time) > addMinutes(new Date(), 12)}); | |
var sorted = relevant.sort(); | |
var soonest = sorted[0] | |
var t = subtractMinutes(new Date(soonest.arrival_time), 12); | |
var times = []; | |
for (var i = 0; i < Math.min(3, sorted.length); i++) { | |
var date = new Date(sorted[i].arrival_time); | |
var time = { | |
hour: date.getHours(), | |
minute: date.getMinutes() | |
} | |
times.push(time); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment