Avatar ·

Ordenação de array de objetos por valores de propriedades em JavaScript

Olá a todos! Sou novo em JavaScript e encontrei um problema ao ordenar um array de objetos. Tenho um array de usuários, cada objeto contém nome e idade: ```javascript const users = [ { name: 'Анна', age: 25 }, { name: 'Иван', age: 30 }, { name: 'Мария', age: 22 }, { name: 'Петр', age: 28 } ]; ``` Preciso ordenar este array por idade (do mais novo para o mais velho) e depois por nome em ordem alfabética. Tentei usar o método `sort()` diretamente, mas ele não funciona como esperado — ordena como strings, e os objetos não são comparados corretamente. Li que `sort()` aceita uma função de comparação, mas não consigo entender como escrevê-la para objetos. Tentei algo como `users.sort((a, b) => a.age - b.age)`, mas o resultado é estranho — às vezes ordena, às vezes não. Além disso, quero ordenar primeiro por idade e, se a idade for igual, por nome. Como fazer isso corretamente? Por favor, me expliquem como funciona a ordenação de objetos em JavaScript e como escrever