Questão nº 55
Questão de Tecnologia da Informação · FGV PCAM 2021 (nº 55)
FGV2021Perito Criminal - 4ª Classe - Processamento de DadosTecnologia da Informação
Gabarito: Aver comentário ↓
Considere o trecho JavaScript exibido a seguir.
```
const a = [1,2,3,4,5];
const b = a.map(xpto);
alert(b);
function xpto (x, y) {
return x y;
}
```
Assinale o conteúdo exibido na execução do script* acima.
- A0,2,6,12,20 (alternativa correta)
- B1,2,3,4,5
- C1,3,5,7,9
- D1,4,9,16,25
- E2,4,6,8,10
Resposta comentada
Gabarito Alternativa A
O método map em JavaScript cria um novo array aplicando uma função a cada elemento do array original. A função que você passa para map recebe, por padrão, o elemento atual como primeiro argumento e o índice desse elemento como segundo argumento.
- (A) Correta: O método
mapitera sobre o arraya. Para cada elemento, ele chama a funçãoxpto. A funçãoxpto(x, y)recebe o elemento atual comoxe o índice do elemento comoy.- Para
a[0] = 1(índice 0):xpto(1, 0)retorna1 * 0 = 0. - Para
a[1] = 2(índice 1):xpto(2, 1)retorna2 * 1 = 2. - Para
a[2] = 3(índice 2):xpto(3, 2)retorna3 * 2 = 6. - Para
a[3] = 4(índice 3):xpto(4, 3)retorna4 * 3 = 12. - Para
a[4] = 5(índice 4):xpto(5, 4)retorna5 * 4 = 20.
O arraybresultante é[0, 2, 6, 12, 20], que ao ser exibido poralertse torna0,2,6,12,20.
- Para
- (B) Incorreta: Esta seria a saída se a função
xptoretornasse apenasx(o próprio elemento), sem nenhuma modificação. - (C) Incorreta: Esta sequência não corresponde ao cálculo realizado pela função
xptocom os argumentos corretos (elemento * índice). - (D) Incorreta: Esta alternativa representa o quadrado de cada elemento (
1*1=1,2*2=4,3*3=9, etc.). A armadilha aqui é que o aluno pode presumir que a funçãoxptoestá multiplicando o elemento por ele mesmo, ou que o segundo argumentoytambém seria o valor do elemento, e não o seu índice. É crucial entender que o segundo argumento do callback demapé sempre o índice. - (E) Incorreta: Esta seria a saída se a função
xptoretornassex * 2(o dobro de cada elemento).
Fonte: FGV PCAM 2021 Perito Criminal - 4ª Classe - Processamento de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.