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

如何根据指定多个key的数值总和对对象数组进行降序排序

实现代码

// 定义参与求和的统计字段列表
const statFields = ['CreateSpeedingEvent', 'CreateIdlingEvent', 'CreateHarshAccelerationEvent', 'CreateHarshDecelerationEvent']

// 按总和降序排序:总和越高排序越靠前
tempListData.sort((prev, curr) => {
  const sumPrev = statFields.reduce((total, field) => total + (prev[field] ?? 0), 0)
  const sumCurr = statFields.reduce((total, field) => total + (curr[field] ?? 0), 0)
  return sumCurr - sumPrev
})

说明

  • 代码里用?? 0做兜底兼容,就算对象缺少对应统计字段也不会出现求和结果为NaN的问题,如果需要兼容低版本JS运行环境,可以替换为|| 0
  • 你提供的示例数组排序后顺序为:John Doe > Henry > David Smith,和三个对象的求和结果7134 > 5988 > 5940对应,完全符合排序要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:06:03