Test case details

Preparation Code

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.8.0/lodash.js"></script>
var __ = {       forEachRight: function(obj, callback) {         for (i = obj.length - 1; i >= 0; i--) {           callback(obj[i]);         }       }     };         var dataset, i, retObj = {}, stats = [{         "window": "lifetime",         "source": "DX",         "spend": "1642.81",         "ideal_spend": "2989.86",         "pace": "43",         "impressions": "224929",         "actions": "189",         "cpm": "3.90",         "ideal_cpm": "2.81",         "cpa": "25.82"       }, {         "window": "yesterday",         "source": "DX",         "spend": "1634.57",         "ideal_spend": "3276.75",         "pace": "24",         "impressions": "24771",         "actions": "41",         "cpm": "2.08",         "ideal_cpm": "3.14",         "cpa": "16.00"       }];

Test cases

Test #1

angular.forEach(stats, function(dataset) {   if (dataset.window && dataset.window === 'lifetime') {     delete dataset.window;     retObj = dataset;   } });

Test #2

for (i = stats.length - 1; i >= 0; i--) {   dataset = stats[i];   if (dataset.window && dataset.window === 'lifetime') {     delete dataset.window;     retObj = dataset;   } }

Test #3

_.forEachRight(stats, function(dataset) {   if (dataset.window && dataset.window === 'lifetime') {     delete dataset.window;     retObj = dataset;   } });

Test #4

__.forEachRight(stats, function(dataset) {   if (dataset.window && dataset.window === 'lifetime') {     delete dataset.window;     retObj = dataset;   } });

Test #5

stats.forEach(function(dataset) {   if (dataset.window && dataset.window === 'lifetime') {     delete dataset.window;     retObj = dataset;   } });

Test #6

_.forEach(stats, function(dataset) {   if (dataset.window && dataset.window === 'lifetime') {     delete dataset.window;     retObj = dataset;   } });

Test #7

for (i = 0; i < stats.length; i++) {   var dataset = stats[i];   if (dataset.window && dataset.window === 'lifetime') {     delete dataset.window;     retObj = dataset;   } }

Test #8

var i, len = stats.length; for (i = 0; i < len; i++) {   var d = stats[i],     dw = d.window || 0;   if (dw && dw === 'lifetime') {     delete dw;     retObj = d;   } }

Test #9

for (dataset of stats) {   if (dataset.window && dataset.window === 'lifetime') {     delete dataset.window;     retObj = dataset;   } }