Calculating Change In Percent Of The Properties In Javascript Objects
I would like to calculate the percent change for a range of data by it's prior range. Here's an example of what I'm working on: Below is an array of objects that I need to calcula
Solution 1:
You mean like this in addition to your above object array and code?
var jCurrent = CalcWeekRange(objArr,32,33);
var jPrevious = CalcWeekRange(objArr,30,31);
var jCurrentDisplay = jCurrent[0].displayAd_imp;
var jPreviousDisplay = jPrevious[0].displayAd_imp;
var result = (jCurrentDisplay/jPreviousDisplay-1)*100;
console.log("result ", result);
Adjusted your jsFiddle here: jsFiddle
Update: In case you want to get the results based on the actual current week, this can be done with following adjustment to above code:
Date.prototype.getWeek = function() {
var firstday = newDate(this.getFullYear(),0,1);
var today = newDate(this.getFullYear(),this.getMonth(),this.getDate());
var dayOfYear = ((today - firstday + 86400000)/86400000);
returnMath.ceil(dayOfYear/7)
};
var today = newDate();
var currentWeekNumber = today.getWeek();
var jCurrentDynamic = CalcWeekRange(objArr,currentWeekNumber-1,currentWeekNumber);
var jPreviousDynamic = CalcWeekRange(objArr,currentWeekNumber -3,currentWeekNumber -2);
var jCurrentDisplayDynamic = jCurrentDynamic[0].displayAd_imp;
var jPreviousDisplayDynamic = jPreviousDynamic[0].displayAd_imp;
var resultDynamic = (jCurrentDisplayDynamic/jPreviousDisplayDynamic-1)*100;
console.log("resultDynamic ", resultDynamic);
I've updated the fiddle and added an object for the actual current week number 34 (just a copy of week 33 for testing), so the fiddle will stop working next week :)
Post a Comment for "Calculating Change In Percent Of The Properties In Javascript Objects"