angularjs - Get average from multiple JSON objects values -


i have data following data:

var v = {   "2015-09-23":[     {"allconversions":"0.1","averagecpc":"0.01","averagecpm":"0.02","averageposition":"8.3",id:1},     {"allconversions":"0.0","averagecpc":"0.00","averagecpm":"0.00","averageposition":"9.0",id:1}   ],   "2015-09-18":[     {"allconversions":"0.1","averagecpc":"77.14","averagecpm":"239.57","averageposition":"7.7",id:1},     {"allconversions":"0.0","averagecpc":"39.97","averagecpm":"703.91","averageposition":"3.8",id:1},        {"allconversions":"0.0","averagecpc":"20.40","averagecpm":"381.36","averageposition":"4.3",id:1}   ] };  var columns = [     "allconversions",   "averagecpc",   "averagecpm",   "averageposition" ]; 

and want return following object sum of fields without id:

{   "2015-09-23": [         {"allconversions":"0.1","averagecpc":"0.01","averagecpm":"0.02","averageposition":"17.3",id:1}   ],     "2015-09-18": [         {"allconversions":"0.1","averagecpc":"137.51","averagecpm":"1324.84","averageposition":"15.8",id:1}   ] } 

i tried code utilising underscrore:

_.each(columns,function(item){     var out = _(groups).map(function (g, key) {         return {             date: key,                 item: _(g).reduce(function (m, x) { return m + x.item; }, 0)         }     }); }); 

but 'nan' error when running code.

check out..

<html> <head>     <script>         var v={          "2015-09-23":[             {"allconversions":"0.1","averagecpc":"0.01","averagecpm":"0.02","averageposition":"8.3",id:1},                 {"allconversions":"0.0","averagecpc":"0.00","averagecpm":"0.00","averageposition":"9.0",id:1}         ],          "2015-09-18":[             {"allconversions":"0.1","averagecpc":"77.14","averagecpm":"239.57","averageposition":"7.7",id:1},             {"allconversions":"0.0","averagecpc":"39.97","averagecpm":"703.91","averageposition":"3.8",id:1},                 {"allconversions":"0.0","averagecpc":"20.40","averagecpm":"381.36","averageposition":"4.3",id:1}          ]};           var columns=[         "allconversions","averagecpc","averagecpm","averageposition"         ];      var output = {};     var smalloutput = {};     var tempdate = [];         for(var in v){             var temp = 0;             for(var j = 0; j < columns.length ; j++){                 for(var k = 0 ; k < v[i].length; k++)   temp += parsefloat(v[i][k][columns[j]]);                  smalloutput[columns[j]] = temp ;                 temp=0;              }             output[[i]] = smalloutput;         }          console.log(output);   </script> </head> <body> </body> </html> 

here fiddle.. https://jsfiddle.net/4t1teyk0/

check console.

here output

enter image description here


Comments

Popular posts from this blog

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project.Error occurred in starting fork -

windows - Debug iNetMgr.exe unhandle exception System.Management.Automation.CmdletInvocationException -

unity3d - Fatal error- Monodevelop-Unity failed to start -