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

JS如何从对象数组中筛选role为GUARDIAN且signOrder最高的对象

实现代码
function pickGuardian(arr) {
  // 筛选role为GUARDIAN的所有对象
  const guardianList = arr.filter(item => item.role === 'GUARDIAN')
  // 无匹配项可根据业务需求调整返回值,这里默认返回null
  if (!guardianList.length) return null
  // 单匹配项直接返回
  if (guardianList.length === 1) return guardianList[0]
  // 多匹配项取signOrder最大的对象
  return guardianList.reduce((prev, current) => {
    return current.signOrder > prev.signOrder ? current : prev
  })
}
测试验证
// 多GUARDIAN场景
const demoArr1 = [
  { signOrder: 1, role: 'CONSENTEE' },
  { signOrder: 2, role: 'GUARDIAN' },
  { signOrder: 3, role: 'GUARDIAN' }
]
console.log(pickGuardian(demoArr1)) // 返回{signOrder:3, role: 'GUARDIAN'}

// 单GUARDIAN场景
const demoArr2 = [
  { signOrder: 1, role: 'CONSENTEE' },
  { signOrder: 2, role: 'GUARDIAN' }
]
console.log(pickGuardian(demoArr2)) // 返回{signOrder:2, role: 'GUARDIAN'}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:36:03