Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var weeks = [
- { "week": 15, "bugs": 6 },
- { "week": 16, "bugs": 12 },
- { "week": 17, "bugs": 23 },
- { "week": 18, "bugs": 13 },
- { "week": 19, "bugs": 10 },
- { "week": 20, "bugs": 11 },
- { "week": 21, "bugs": 11 },
- { "week": 22, "bugs": 2 },
- { "week": 15, "reopened": 1 },
- { "week": 16, "reopened": 1 },
- { "week": 17, "reopened": 2 },
- { "week": 18, "reopened": 4 },
- { "week": 19, "reopened": 3 },
- { "week": 20, "reopened": 1 },
- { "week": 21, "reopened": 4 },
- { "week": 22, "reopened": 1 },
- { "week": 15, "closed": 17 },
- { "week": 16, "closed": 35 },
- { "week": 17, "closed": 40 },
- { "week": 18, "closed": 34 },
- { "week": 19, "closed": 19 },
- { "week": 20, "closed": 29 },
- { "week": 21, "closed": 24 },
- { "week": 22, "closed": 1 }
- ];
- var issues = [];
- function mapWith(fn) {
- return function (list) {
- return Array.prototype.map.call(list, function (items) {
- return fn.call(this, items);
- });
- };
- };
- function arrange(items) {
- for (item in items) {
- if (issues[item]) {
- issues[item] = {
- week : parseInt(item),
- issues: issues[item]
- };
- }
- }
- return issues.filter(function(){
- return true;
- });
- };
- var mapper = mapWith(function(item) {
- var week = item.week;
- delete item.week;
- issues[week] = issues[week] || {};
- var issue = Object.keys(item)[0];
- issues[week][issue] = item[issue];
- return issues;
- });
- arrange(mapper(weeks));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement