You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从JavaScript对象数组中提取指定属性值最大的单个对象

实现方案

1. 直接获取单个最大age对象

用reduce方法遍历数组,每次对比两个元素的age属性,保留更大的那个,遍历结束后就能拿到age最大的对象:

const arr = [
  {name: 'John', age: 15},
  {name: 'Max', age: 17},
  {name: 'Tom', age: 11},
]
// 得到单个对象c
const c = arr.reduce((prev, curr) => prev.age > curr.age ? prev : curr)
console.log(c) // 输出 {name: 'Max', age: 17}

如果存在多个age相同且都是最大值的对象,这个方法只会返回第一个出现的最大age对象。

2. 获取包含最大age对象的数组

先算出所有元素的最大age值,再用filter筛选出所有age等于最大值的元素,就能得到结果数组:

// 先计算最大age
const maxAge = Math.max(...arr.map(item => item.age))
// 得到结果数组b
const b = arr.filter(item => item.age === maxAge)
console.log(b) // 输出 [{name: 'Max', age: 17}]

如果有多个同最大age的对象,都会被包含在结果数组中。如果确定只有一个最大值,也可以直接把上面得到的c放到数组里:const b = [c],效果完全一致。

内容的提问来源于stack exchange,提问作者palnic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:45:03