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

JavaScript如何按对象description字段升序排序对象数组

JavaScript对象数组按指定字段排序实现

直接调用sort()无效的原因

原生Array.sort()默认将数组元素转为字符串后,按字符Unicode编码值排序。数组元素为对象时,默认转字符串结果均为[object Object],所有元素对比结果等价,无法按对象内字段排序。

正确实现方案

sort()支持传入自定义比较函数,指定两个元素的对比规则即可实现按description字段升序排序,代码如下:

// 排序完成后再返回结果
return result.data.sort((prev, next) => {
  return prev.description.localeCompare(next.description);
});

字符串的localeCompare()方法会按照本地语言规则对比字符串顺序,适配多语言场景。如果仅需处理纯英文字符串排序,也可以用三元表达式实现相同逻辑:prev.description > next.description ? 1 : prev.description < next.description ? -1 : 0

排序后效果

执行代码后数组将按description字段升序排列,顺序为:

  • description值为Alfa(id:1、code:AAA)的对象
  • description值为Beta(id:2、code:BBB)的对象
  • description值为Gama(id:3、code:GGG)的对象

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 22:21:31