FC ConcursosFC Concursos

Questão FC373430

Considere o bloco de código abaixo que utiliza JavaScript e JSON. <body> <p></p> <script> var text = '{"trens":[' + '{"trem":"0145","linha":"azul" },' + '{"trem":"0146","linha":"ve

Desenvolvimento Web

FCC · 2019

Considere o bloco de código abaixo que utiliza JavaScript e JSON.


<body>
 <p></p>
 <script>
   var text = '{"trens":[' +
   '{"trem":"0145","linha":"azul" },' +
   '{"trem":"0146","linha":"vermelha" },' +
   '{"trem":"0147","linha":"verde" }]}';
    x = JSON.parse(text);
    document.getElementById("exibe").innerHTML =..I.. ;
 </script>
</body>


Para que o bloco de código exiba 0146 vermelha, a lacuna I deve ser corretamente preenchida por

  1. x.trens[2].trem + " " + x.trens[2].linha
  2. text.trens[trem] + " " + text.trens[linha]
  3. x.trens[1].trem + " " + x.trens[1].linha
  4. x.trens[trem] + " " + x.trens[linha]
  5. text.trens[1].trem + " " + text.trens[1].linha
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

O trecho correto é x.trens[1].trem + " " + x.trens[1].linha.

Ao chamar JSON.parse(text) o texto JSON vira um objeto JavaScript com a propriedade trens, que é um array de objetos. Em JavaScript arrays são indexados a partir de 0, portanto o segundo elemento está no índice 1.

No elemento trens[1] estão as propriedades trem ("0146") e linha ("vermelha"). Usando a notação ponto acessamos essas propriedades: x.trens[1].trem e x.trens[1].linha.

A concatenação com " " insere um espaço entre os valores, produzindo a string desejada "0146 vermelha", que pode ser atribuída a innerHTML.

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

Continue aprendendo