Questão 60 · Informática: Programação e algoritmos
Considere o código JavaScript a seguir. let txt = ""; function funcao(value, index, array) { if (index % 2 == 0) {txt += value}; } function xpto (x) { x.forEach(funcao); return txt; } alert (xpto([0, 1, 1, 2, 3, 5])); A execução desse código provoca a exibição de:
- A) 011235
- B) 013
- C) 125
- D) 532110
- E) null
Marque a alternativa correta:
Gabarito: B
Gabarito definitivo divulgado pela banca FGV (BANESTES 2021).
Comentário
Gabarito: B.
O forEach chama a função funcao para cada elemento do array, passando o valor, o índice e o próprio array. A função só concatena o valor a txt quando o índice é par, isto é, quando index % 2 == 0. No array [0, 1, 1, 2, 3, 5], os índices pares são 0, 2 e 4, cujos valores são 0, 1 e 3. Assim, txt recebe "0", depois "01" e por fim "013", que é exibido pelo alert. Por isso, a alternativa B é a correta.
Por que as outras estão erradas:
- (A) 011235 concatenaria todos os valores, mas a função usa apenas os de índice par.
- (C) 125 corresponde aos valores de índice ímpar (1, 2 e 5), e não aos pares.
- (D) 532110 é o array em ordem invertida, o que o código não faz.
- (E) null não é retornado: xpto devolve o valor acumulado em txt, que é uma string.
Dica: o índice começa em zero, então os índices pares são 0, 2, 4 e assim por diante. Como txt começa como string vazia, os números são concatenados como texto.
Fundamentos: método forEach e parâmetros de callback · índice par e operador módulo · concatenação de strings em JavaScript
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova FGV BANESTES 2021 (Suporte e Infraestrutura), questão 60, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.