Questão FC266315
Analise o seguinte algoritmo de ordenação em JavaScript e marque a alternativa que apresenta a saída da console. const numeros = [10, 2,8, 1, 5]; numeros.sort((b, a) => b - a); con
Questões sem classificação de assunto (TI - Desenvolvimento de Sistemas)
IDECAN · 2024
Analise o seguinte algoritmo de ordenação em JavaScript e marque a alternativa que apresenta a saída da console.
const numeros = [10, 2,8, 1, 5];
numeros.sort((b, a) => b - a);
console.log(numeros);
- [10,8,5,2,1]
- [10,8,1,2,5]
- [5,2,1,10,8]
- [1,2,5,8,10]
- [1,2,5,10,8]
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
O resultado é [1,2,5,8,10] porque a função passada ao sort age como um comparador numérico. Em JavaScript o primeiro argumento da função é sempre o primeiro elemento comparado e o segundo argumento é o segundo; os nomes das variáveis são irrelevantes.
A função foi escrita como (b, a) => b - a, logo, internamente ela calcula primeiro − segundo. Quando essa expressão é negativa, o primeiro elemento fica antes do segundo, o que produz ordem crescente (menor para maior).
Além disso, sort modifica o próprio array (mutação), por isso o console.log(numeros) mostra o array já ordenado: [1,2,5,8,10].
Conteúdo do catálogo FC Concursos · Atualizado em