Avatar ·

如何在 JavaScript 中按字符串属性对对象数组进行排序?

大家好!我是 JavaScript 新手,在排序对象数组时遇到了问题。我有一个用户数组,每个用户包含 name 和 age。我需要按 name(字符串属性)以字母顺序对这个数组进行排序。 这是我的代码示例: ```javascript const users = [ { name: 'Иван', age: 25 }, { name: 'Петр', age: 30 }, { name: 'Анна', age: 22 }, { name: 'Мария', age: 28 } ]; users.sort((a, b) => a.name - b.name); console.log(users); ``` 但这段代码不工作——数组没有排序,或者排序不正确。我明白 `-` 运算符不能用于字符串,但如何正确比较字符串呢?我试过用 `a.name > b.name`,但也没有得到想要的结果:元素顺序保持不变。 请告诉我如何正确按字符串属性对对象数组进行排序?最好能解释一下 `sort()` 中比较函数的工作原理。提前谢谢!