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

Reply via email to