您如何找到Min& Javascript中的对象数组中的属性的最大值 [英] How do you find Min & Max of a property in an array of objects in Javascript

查看:48
本文介绍了您如何找到Min& Javascript中的对象数组中的属性的最大值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下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?

任何使用Javascript或Jquery的解决方案都是可以接受的.

Any solution in Javascript or Jquery is acceptable.

非常感谢您的帮助.

推荐答案

说你的数组看起来像这样:

Say your array looks like this:

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

然后您可以:

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;}))

[编辑]添加了ES2015方法:

[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') 
);

这篇关于您如何找到Min& Javascript中的对象数组中的属性的最大值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆