var _getTicketQuantity = function(attendeeItems, sku){ var ticketQuantity = 0; var attendeesBySku = attendeeItems.filter(function(attendee) { return attendee.sku === sku; }); return attendeesBySku.reduce(function (accumulator, currentValue) { return accumulator + currentValue.quantity; }, ticketQuantity); }; var _attendeeClassIdMap = function(attendees, ticketClassId) { return attendees.map(function(mapObj) { return mapObj[ticketClassId]; }) }; var _createGAItemGroup = function(attendees, ticketClassId) { var attendeeClassIdMap = _attendeeClassIdMap(attendees, ticketClassId); var filteredTicketGroups = attendees.filter(function(attendee, position, arr){ // Filter out the object if there is more than 1 attendee row with the same ticketClassId return attendeeClassIdMap.indexOf(attendee[ticketClassId]) === position; }); return filteredTicketGroups.map(function(filteredTickets){ // set the correct ticket quantity associated with each ticketClass return { id: filteredTickets.id, sku: filteredTickets.sku, name: filteredTickets.name, category: filteredTickets.category, price: filteredTickets.price, currency: filteredTickets.currency, quantity: _getTicketQuantity(attendees, filteredTickets.sku).toString() }; }); }; var gaEventId = '1480658020999'; var gaEventName = 'CPD Certificate in Quality Management System Lead Implementation \u002D ISO 9000'; var gaPagename = gaEventName;