Questão nº 48
Questão de Tecnologia da Informação · FCC TRT18 2022 (nº 48)
Considere o corpo de uma página HTML, conforme a seguir:
```html
<body>
<p id="exibir"></p>
<script>
const valores = [900, 905, 902, 903, 908];
let x = "";
I;
document.getElementById("exibir").innerHTML = x;
function exibe(v, i, vs) {
x += v + "<br>";
}
</script>
</body>
```
Para que os valores contidos na array valores sejam exibidos, um abaixo do outro, a lacuna I deve ser corretamente preenchida por:
- A`call(exibe)`
- B`valores.iterator(exibe)`
- C`valores.forEach(exibe)` (alternativa correta)
- D`call exibe(valores.value, valores.length, valores)`
- E`exibe(valores.value, valores.length, valores)`
Resposta comentada
Gabarito Alternativa C
Para exibir cada item de um array (lista de valores) e fazer algo com ele, como mostrá-lo na tela, usamos um método de iteração que executa uma função para cada elemento.
- (A) Incorreta:
call()é um método de função, não de array, usado para invocar uma função com um contextothisespecífico e argumentos definidos, não para iterar sobre um array. - (B) Incorreta: Não existe um método padrão de array chamado
iterator()em JavaScript para este propósito. Arrays são iteráveis, mas não se usa essa sintaxe para iterar. - (C) Correta:
valores.forEach(exibe)é o método correto. O métodoforEach()de um array executa a funçãoexibe(passada como callback) uma vez para cada elemento do array, passando o valor do elemento (v), seu índice (i) e o próprio array (vs) como argumentos para a funçãoexibe, permitindo que cada valor seja adicionado à stringx. - (D) Incorreta: A sintaxe
call exibe(...)é inválida em JavaScript. Além disso,valores.valuenão é uma propriedade para acessar os elementos de um array. - (E) Incorreta: Esta alternativa chama a função
exibeapenas uma vez, e não itera sobre os elementos do array. Além disso,valores.valueéundefinedpara um array, então a funçãoexibereceberiaundefinedcomo o primeiro argumento, não o valor de cada elemento. Armadilha: Pode parecer tentador porque usa a funçãoexibee referencia o array, mas falha em iterar sobre todos os valores, chamando a função apenas uma vez e com argumentos incorretos para acessar os elementos individuais.
Fonte: FCC TRT18 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.