O desafio pedia para criar uma lista com 3 elementos numéricos e colocá-los em ordem crescente. Meu código ficou assim:
function ordemCrescente(a, b, c) {
let arrayNumbers = [];
if(Number(a)<Number(b) && Number(a)<Number(c)){
arrayNumbers.push(a);
}else if(Number(b)<Number(a) && Number(b)<Number(c)){
arrayNumbers.push(b);
}else{
arrayNumbers.push(c)
}
if((Number(a)<Number(b) || arrayNumbers.includes(b)) && (Number(a)<Number(c) || arrayNumbers.includes(c)) && !(arrayNumbers.includes(a))){
arrayNumbers.push(a);
}else if((Number(b)<Number(a) || arrayNumbers.includes(a)) && (Number(b)<Number(c) || arrayNumbers.includes(c)) && !(arrayNumbers.includes(b))){
arrayNumbers.push(b);
}else{
arrayNumbers.push(c)
}
if(!(arrayNumbers.includes(a))){
arrayNumbers.push(a);
}else if(!(arrayNumbers.includes(b))){
arrayNumeros.push(b);
}else{
arrayNumbers.push(c);
}
console.log(arrayNumbers);
}
ordemCrescente(1, 10, 2);
Porém, apesar de o código funcionar perfeitamente, ele ficou muito extenso. Na opinião do professor, após o desafio, ele sugere o seguinte código:
===================== CODIGO FORNECIDO PELO PROFESSOR =======================================
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"
O código ficou bem melhor, mas não entendi como funciona o método sort. Busquei na documentação do site developer mozilla, mas ainda não entendi. Caso alguém possa me ajudar a entender, fico muito grato. Desculpem se a pergunta parecer meio boba. Sou novo na área. Obrigado.