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

如何用NodeJS提取对象数组中levelNumber为最大值的所有对象

实现方案

通用代码

// 通用筛选函数:传入对象数组,返回所有levelNumber为最大值的对象组成的数组
function filterMaxLevelObjects(arr) {
  // 边界处理:非法输入或空数组直接返回
  if (!Array.isArray(arr) || arr.length === 0) {
    return []
  }
  // 计算当前数组中levelNumber的最大值(统一转数字比较,避免字符串排序误差)
  const maxLevel = Math.max(...arr.map(item => Number(item.levelNumber)))
  // 过滤匹配最大值的所有对象
  return arr.filter(item => Number(item.levelNumber) === maxLevel)
}

使用示例

const arr1 = [
  {
    "levelNumber": "2",
    "name": "abc",
  },
  {
    "levelNumber": "3",
    "name": "abc"
  },
  { 
    "levelNumber": "3",
    "name": "raks",
  }
]

const resultArr = filterMaxLevelObjects(arr1)
console.log(resultArr)

输出结果

[
  { levelNumber: '3', name: 'abc' },
  { levelNumber: '3', name: 'raks' }
]

兼容性说明

  • 自动处理levelNumber为字符串类型的场景,转换为数字后比较,避免字符串字典序排序导致"10" < "2"的错误
  • 兼容空数组、非数组输入场景,不会抛出异常
  • 无需提前预设最大值,可动态适配任意levelNumber取值的数组

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:27:02