This reply from Gbadebo missed the list. (I confirmed in a private email.)

-----

Isiah Meadows
[email protected]
www.isiahmeadows.com

On Wed, Nov 21, 2018 at 7:16 PM Gbadebo Bello <[email protected]> wrote:
>
> Yh, i felt the same way about the rest also but thought it would be nice to 
> atleast get feedback before concluding.
>
> On Wed, Nov 21, 2018, 06:08 Isiah Meadows <[email protected]> wrote:
>>
>> Not sure these belong in the standard library itself. I could see max and 
>> min being there (these are very broadly useful), but the others, not so 
>> much. I'd also like both max and min accept an optional comparison callback 
>> of `(a, b) => a < b`. But the rest seem too narrowly useful IMHO.
>> On Tue, Nov 20, 2018 at 21:38 Gbadebo Bello <[email protected]> 
>> wrote:
>>>
>>> The array object has no method for finding the minimum value of an array of 
>>> numbers and the Math.min() method doesn't work on Arrays right out of the 
>>> box. I'll have similar issues if i wanted to return the maximum number, the 
>>> mean, mode,  median or standard deviations in any array of numbers.
>>>
>>> This is a bit tasky and can be done in just a line of code if there where 
>>> Array.prototype.{method}() for it.
>>>
>>> My proposal is, Arrays should have the following prototypes
>>>
>>> Array.prorotype.min()
>>>  Array.prorotype.max()
>>> Array.prorotype.mean()
>>> Array.prorotype.median()
>>> Array.prorotype.mode()
>>> Array.prototype.stdev()
>>>
>>> The mean, median and mode would be very useful when visuali
>>> Here's is a polyfill of what i'll love to propose.
>>>
>>> //Array.prototype.min()
>>> Array.prototype.min = function(){
>>> let arrayVal = this;
>>> let checkNonNumbers = this.some(element => {
>>> if(typeof(element) !== typeof(Math.random())){
>>> throw new Error("This Array.prorotype.min() takes only array of numbers as 
>>> arguments");
>>> }
>>> else{
>>> return true;
>>> }
>>> });
>>> function findMin(validated){
>>> if(validated == true){
>>> return Math.min.apply( Math, arrayVal );
>>> }
>>> }
>>> return findMin(checkNonNumbers);
>>> }
>>>
>>> Similarly, Array.prototype.max() can be implemented as above.
>>>
>>>
>>>
>>> //Array.prototype.median()
>>> Array.prototype.median = function(){
>>> let values = this;
>>> function median(values){
>>> values.sort(function(a,b){
>>> return a-b;
>>> });
>>> if(values.length ===0) return 0
>>> var half = Math.floor(values.length / 2);
>>> if (values.length % 2)
>>> return values[half];
>>> else
>>> return (values[half - 1] + values[half]) / 2.0;
>>> }
>>> return median(numbers)
>>> }
>>> _______________________________________________
>>> es-discuss mailing list
>>> [email protected]
>>> https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to