Summarizing the expenses by categories
Getting back to our application, as we want to create a graph showing the summary of expenses for each category, we will first need to calculate the total expense made under each category.
We will start by creating a function within our factory service that will total up the expenses for a category name that is passed to it.
Open up the app/js/services.js
file, and add the following function within the return {}
section of the expService
factory:
getCategoryTotal: function(category) { var categoryTotal = 0; var prefixLength = prefix.length; Object.keys(localStorage) .forEach(function(key) { if (key.substring(0, prefixLength) == prefix) { var item = localStorage[key] item = JSON.parse(item) if (item.category == category) { categoryTotal += parseFloat(item.amount); } } }); return categoryTotal; }
Tip
For the sake of simplicity, we are directly creating our methods within the return
statement...