Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you find Min & Max of a property in an array of objects in Javascript

I have the following javascript object:

Person1.Name = "John";
Person1.Age = 12;

Person2.Name = "Joe";
Person2.Age = 5;

I then have an array of persons, how do I find the Min/Max based on a persons age?

Any solution in Javascript or Jquery is acceptable.

your help is much appreciated.

like image 951
MaYaN Avatar asked Aug 16 '12 10:08

MaYaN


People also ask

What does it mean to find the min?

"Min" means minimum, so in your case it's saying what's the minimum of the two values in (c-a, b-c). Cite.

What is min value?

A minimum value is the lowest y-value of a function. A maximum value is the highest y-value of a function.

How do you find the max and min of a function?

The local minima and maxima can be found by solving f'(x) = 0. Then using the plot of the function, you can determine whether the points you find were a local minimum or a local maximum. Also, you can determine which points are the global extrema. Not all functions have a (local) minimum/maximum.


1 Answers

Say your array looks like this:

var persons = [{Name:"John",Age:12},{Name:"Joe",Age:5}];

then you can:

var min = Math.min.apply(null, persons.map(function(a){return a.Age;}))
   ,max = Math.max.apply(null, persons.map(function(a){return a.Age;}))

[Edit] Added ES2015 method:

const minmax = (someArrayOfObjects, someKey) => {
  const values = someArrayOfObjects.map( value => value[someKey] );
  return {
      min: Math.min.apply(null, values), 
      max: Math.max.apply(null, values)
    };
};

console.log(
  minmax( 
    [ {Name: "John", Age: 12},
      {Name: "Joe", Age: 5},
      {Name: "Mary", Age: 3},
      {Name: "James sr", Age: 93},
      {Name: "Anne", Age: 33} ], 
    'Age') 
);
like image 127
KooiInc Avatar answered Sep 28 '22 09:09

KooiInc