← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

Analise o código JavaScript a seguir. const valores = [4, 3, 2, 1, 0]; let xpto = ""; valores.forEach(fF); alert (xpto); function fF(value, index) { xpto += index + ":" + value + ">"; } A execução desse código exibe:

Gabarito: C

Em JavaScript, o método forEach percorre o array na ordem natural dos elementos, do índice 0 ao último. A cada passagem, ele chama a função de callback passando, entre outros parâmetros, o valor e o índice do elemento atual. Aqui, a função fF concatena no texto a dupla index + ":" + value + ">". Como o array valores é [4, 3, 2, 1, 0], o primeiro elemento tem índice 0 e valor 4, depois vem índice 1 e valor 3, e assim por diante. Então a string montada fica "0:4>1:3>2:2>3:1>4:0>". Ou seja, o código não imprime os valores em ordem crescente nem inverte a sequência. Ele respeita a ordem do array e usa o índice original de cada posição. Esse comportamento é bem clássico do forEach: ele não altera a ordem, só visita elemento por elemento. Por isso, o gabarito é a alternativa C. A saída exibida pelo alert é exatamente a concatenação dos índices com os respectivos valores na ordem em que aparecem no array.

Continue treinando

Questões relacionadas