Skip to content

Instantly share code, notes, and snippets.

@matefs
Created June 18, 2023 04:11
Show Gist options
  • Save matefs/92fdddac32015f0af6488436dd846231 to your computer and use it in GitHub Desktop.
Save matefs/92fdddac32015f0af6488436dd846231 to your computer and use it in GitHub Desktop.
Como ordenar um array e uma lista de objetos com javascript
// array - ordenar do menor para o maior
const numbers = [10, 5, 8, 2, 1];
numbers.sort((a, b) => a - b);
console.log(numbers);
// array - ordenar do maior para o menor
const numbers = [10, 5, 8, 2, 1];
numbers.sort((a, b) => b -a );
console.log(numbers);
// lista de objetos do menor para o maior
const objects = [
{ prop1: 1, prop2: 2 },
{ prop1: 3, prop2: 1 },
{ prop1: 2, prop2: 3 },
];
objects.sort((a, b) => (a.prop1 - b.prop1) || (a.prop2 - b.prop2));
console.log(objects);
@matefs
Copy link
Author

matefs commented Jun 18, 2023

Sobre a ordenação dos objetos

Neste exemplo, usamos o operador || para realizar uma comparação de curto-circuito. Se a.prop1 - b.prop1 for diferente de zero (ou seja, se a.prop1 for menor ou maior que b.prop1), esse valor será retornado. Caso contrário, a comparação a.prop2 - b.prop2 será executada. Se ambos a.prop1 - b.prop1 e a.prop2 - b.prop2 forem zero, significa que a.prop1 e b.prop1 são iguais, e a.prop2 e b.prop2 também são iguais. Portanto, será retornado o valor 0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment