javascript - 你如何在Javascript中的对象数组中找到属性的最小值和最大值

标签 javascript jquery

我有以下 javascript 对象:

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

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

然后我有一组人,我如何根据一个人的年龄找到最小值/最大值?

Javascript 或 Jquery 中的任何解决方案都是可以接受的。

非常感谢您的帮助。

最佳答案

假设您的数组如下所示:

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 方法:

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

关于javascript - 你如何在Javascript中的对象数组中找到属性的最小值和最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11985132/

相关文章:

javascript - 将日期格式转换为字符串 Javascript

javascript - 如何覆盖 div 中除一个元素之外的所有内容

javascript - 为什么不为移动设备使用 vanilla Jquery?即与特定于移动设备的基于 jquery 的库 (jqtouch/sencha) 形成对比?

javascript - 多次 Backbone 渲染 View

javascript - 当我双击将在单击时隐藏的特定元素时,双击绑定(bind)到父元素或同级元素

javascript - 不允许在 WebAPI 中发帖的方法

c# - 在更改第一个 ddl 时使用 jquery ajax 绑定(bind)下拉列表

javascript - IE7 标准文档模式下的 SPAN/DIV 高度不正确

javascript - 表中的树状连接器(HTML/CSS/原型(prototype))

javascript - 如何替换 HTML 正文中与单词匹配的所有内容?