You are using 2 different variables in this loop 'c' and 'm' which won't work.  Also, you should probably just do a loop that is formatted as:

for(var taxCategoryRate in taxCategory.getTaxCategoryRates()) {} 

Right now you are trying to loop over "taxCategory" as if it is an array, and it isn't it's an object.  Unlike shipping, on this one you don't need two loops... just the 1.