JSFiddle - React, Tailwind, and code Playground
by Khris Roberts
HTML
<ul id="classes">
</ul>
JavaScript
var feedData="Algebra (2.50 hours), Algebra (4.50 hours), Algebra (2.50 hours), Algebra (2.50 hours), Algebra (3.50 hours), Algebra (2.50 hours), Algebra (6.50 hours), Algebra (2.50 hours), Algebra (2.50 hours), Athletic (Attendance) (5.50 hours), Science (2.25 hours), Athletic (Attendance) (6.50 hours), Athletic (Attendance) (2.50 hours), Reading (2.50 hours), Athletic (Attendance) (2.50 hours), History (2.50 hours), History (6.50 hours), Athletic (Attendance) (2.50 hours)";
function parseFeedData(data){
var returnValue = "";
var classes = new Object();
//var classNames = new Array();
var splitItems = data.split(', ');
$(splitItems).each(function(index,value){
var className = value.substring(0,value.lastIndexOf('(')).trim();
var classHours = value.substring(value.lastIndexOf('('),value.length).trim().split(' ')[0].substring(1);
if (classes[className] == null){
classes[className] = new Object();
classes[className].name = className;
}
if (classes[className].hours == null){
classes[className].hours = 0;
}
if (parseFloat(classHours) != NaN){
classes[className].hours += parseFloat(classHours);
}
});
for (var i in classes){
$('#classes').append("<li>" + classes[i].name + ": " + classes[i].hours + " hours</li>")
returnValue += classes[i].name + classes[i].hours;
}
}
$(document).ready(function(){
parseFeedData(feedData);
});