FC ConcursosFC Concursos

Questão FC373340

Considere o corpo de uma página HTML, conforme a seguir: <body> <p></p> <script> const valores = [900, 905, 902, 903, 908]; let x = ""; \(\underset{......}{I}\) ; document.getEleme

Desenvolvimento Web

FCC · 2023

Considere o corpo de uma página HTML, conforme a seguir:

 

<body>

<p></p>

<script>

const valores = [900, 905, 902, 903, 908];

let x = "";

\(\underset{......}{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:

  1. call(exibe)
  2. valores.iterator(exibe)
  3. valores.forEach(exibe)
  4. call exibe(valores.value, valores.length, valores)
  5. exibe(valores.value, valores.length, valores)
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A lacuna deve ser preenchida por valores.forEach(exibe). O método forEach itera sobre cada elemento do array e chama a função de callback para cada item.

No código, a função exibe está definida como exibe(v, i, vs), onde v é o valor, i o índice e vs o próprio array. Cada chamada faz x += v + "<br>", acumulando os valores em linhas separadas.

Ao usar valores.forEach(exibe) você passa a referência da função (sem parênteses) para que o próprio forEach a invoque para cada elemento. A execução é síncrona, de modo que, ao final da iteração, document.getElementById("exibir").innerHTML = x exibirá todos os valores um abaixo do outro.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo