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.



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,{return a.Age;}))
   ,max = Math.max.apply(null,{return a.Age;}))

[Edit] Added ES2015 method:

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

    [ {Name: "John", Age: 12},
      {Name: "Joe", Age: 5},
      {Name: "Mary", Age: 3},
      {Name: "James sr", Age: 93},
      {Name: "Anne", Age: 33} ], 


First you sort the array with a custom sorting function:

var sorted = persons.sort(function(a, b) {
  if(a.Age > b.Age) return 1;
  else if(a.Age < b.Age) return -1;
  else return 0;

Then you can just take the first and last:

var min = sorted[0],
    max = sorted[sorted.length - 1];


Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.