Os desafios são avançados para iniciantes. Consegui entender como funciona a solução dos 3 primeiros, mas o 4º desafio tá bem difícil.
Poderiam explicar passo a passo como chegar nesta solução? Como é utilizado o atributo .sort?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Os desafios são avançados para iniciantes. Consegui entender como funciona a solução dos 3 primeiros, mas o 4º desafio tá bem difícil.
Poderiam explicar passo a passo como chegar nesta solução? Como é utilizado o atributo .sort?
Olá, Jefferson! Tudo certo?
O desafio pede para criar um programa com uma função que receba três números como argumentos e os retorne em ordem crescente. É utilizado o atributo .sort(), que é uma função em JavaScript que ordena os elementos de um array.
Veja a solução desse desafio:
function ordenarNumeros(a, b, c) {
const numerosOrdenados = [a, b, c].sort((x, y) => x - y);
console.log(`Números ordenados: ${numerosOrdenados.join(', ')}`);
}
// Exemplo de uso:
ordenarNumeros(3, 1, 5);
// Deve exibir "Números ordenados: 1, 3, 5"
Nesse caso, o método .sort() recebe uma função de comparação ("(x, y) => x - y"). Essa função é o mesmo que o seguinte:
function(x, y){
return x - n
}
O método .sort() faz a comparação dos números baseando-se no resultado da função que é passada como parâmetro dentro dos parênteses (".sort((x, y) => x - y)"). Existem três possibilidades para esse retorno. Ele pode ser:
Negativo: o método classifica o primeiro valor como menor que o segundo;
Zero: os valores são classificados como iguais;
Positivo: o primeiro valor é classificado como maior que o segundo.
Tendo isso, imagine uma comparação entre os valores 3 e 5. O método analisará a operação 3 - 5, que retornará -2 (um valor negativo), logo, 3 será classificado como menor que 5.
Dessa mesma forma, imagine a comparação dos valores 9 e 6. O método .sort() irá verificar o resultado de 9 - 6, que é 3 (um valor positivo), sendo assim, 9 será classificado como maior que 6.
Espero que isso tenha te ajudado a entender melhor o método .sort()!
Caso restem dúvidas, fique à vontade para mandar aqui sua dúvida!
Abraço.