In addition, using reduce just to sum array elements forces a function execution for every element. May not be bad for a minimal count of elements, but doing statistical work on larger collections would benefit from having an optimized summation.
Eli Perelman On Fri, Oct 2, 2015 at 3:23 PM, Waldemar Horwat <[email protected]> wrote: > On 10/01/2015 23:10, Sebastian Zartner wrote: > >> While Math.sum() and Math.mean() currently don't exist, they can easily >> be polyfilled: >> See >> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce#Sum_all_the_values_of_an_array >> for summarizing the values of an array and the following code for building >> the average of the array values: >> >> let arr = [0, 1, 2, 3]; >> let total = arr.reduce(function(a, b) { >> return a + b; >> }); >> let mean = total / arr.length; >> >> Calculating the variance and standard deviation would require a bit more >> code, though are also easy to polyfill. >> Non-the-less I can see the need for having standard functions for this. >> >> Sebastian >> > > Yes, Math.sum can be polyfilled, but doing so if you want accurate answers > takes a fair amount of care. The code above is pretty bad as a polyfill > because it sometimes produces highly inaccurate answers. For example, if > arr = [1, 1e18, -1e18], then this polyfill will return the incorrect value > 0 for total, while a more careful implementation would return 1. > > Waldemar > >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

