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

如何在JavaScript中按Name字段对对象数组进行排序?

JavaScript 按对象Name字段排序数组

要实现按对象的Name字段对数组进行升序排序,你可以使用数组的sort()方法,配合localeCompare()处理字符串比较逻辑,具体操作如下:

1. 定义原始数组

先将你的数组整理为可运行的代码形式:

const people = [
  { Age: 10, Name: 'John' },
  { Age: 25, Name: 'Maria' },
  { Age: 23, Name: 'Ana' },
  { Age: 27, Name: 'Pedro' }
];

2. 执行排序

方式一:原地排序(直接修改原数组)

people.sort((a, b) => a.Name.localeCompare(b.Name));

方式二:生成新数组(不修改原数组)

如果需要保留原始数组,可以先复制数组再排序:

const sortedPeople = [...people].sort((a, b) => a.Name.localeCompare(b.Name));

3. 排序结果

执行后得到的数组与你期望的一致:

[
  { Age: 23, Name: 'Ana' },
  { Age: 10, Name: 'John' },
  { Age: 25, Name: 'Maria' },
  { Age: 27, Name: 'Pedro' }
]

补充说明

localeCompare()会根据语言环境比较两个字符串,返回对应数值:

  • 返回负数:a.Name排在b.Name之前
  • 返回0:两个字符串内容相同
  • 返回正数:a.Name排在b.Name之后
    该返回值完全匹配sort()方法对比较函数的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 14:10:35