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
- x.trens[2].trem + " " + x.trens[2].linha
- text.trens[trem] + " " + text.trens[linha]
- x.trens[1].trem + " " + x.trens[1].linha
- x.trens[trem] + " " + x.trens[linha]
- 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