Questão nº 39
Questão de Tecnologia da Informação · FGV ALEP 2024 (nº 39)
Analise o código Javascript a seguir.
```
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
let text = '{"Funcionarios":[' +
'{"Nome":"J.","Sobrenome":"Junior" },' +
'{"Nome":"A.","Sobrenome":"Filho" },' +
'{"Nome":"P.","Sobrenome":"Neto" },'+
'{"Nome":"L.","Sobrenome":"Bisneto" },'+
'{"Nome":"P.","Sobrenome":"Filha" }]}';
const obj = JSON.parse(text);
document.getElementById("demo").innerHTML =
obj.Funcionarios[2].Nome+"
"+obj.Funcionarios[2].Sobrenome;
</script>
</body>
</html>
```
O resultado exibido ao rodar esse código será
- AA. Filho
- BP. Filha
- CL. Bisneto
- DP. Neto (alternativa correta)
- EJ. Junior
Resposta comentada
Gabarito Alternativa D
O conceito-chave aqui é como o JavaScript lida com dados estruturados em formato JSON e como acessamos elementos em um array (lista de itens) usando índices, que sempre começam do zero.
- (A) Incorreta: Esta seria a resposta se o índice fosse
[1], pois "A. Filho" é o segundo elemento (índice 1) na lista. - (B) Incorreta: Esta seria a resposta se o índice fosse
[4], pois "P. Filha" é o quinto e último elemento (índice 4) na lista. - (C) Incorreta: Esta seria a resposta se o índice fosse
[3], pois "L. Bisneto" é o quarto elemento (índice 3) na lista. - (D) Correta: O código acessa
obj.Funcionarios[2]. Em JavaScript, os arrays são indexados a partir de zero. Isso significa que o primeiro elemento está no índice 0, o segundo no índice 1, e o terceiro no índice 2. Portanto,Funcionarios[2]corresponde a{"Nome":"P.","Sobrenome":"Neto" }. O código então pega oNome("P.") e oSobrenome("Neto") deste objeto, resultando em "P. Neto". - (E) Incorreta: Esta seria a resposta se o índice fosse
[0], pois "J. Junior" é o primeiro elemento (índice 0) na lista. A armadilha aqui é confundir o índice 2 com o segundo elemento da lista, quando na verdade ele se refere ao terceiro elemento devido à indexação baseada em zero.
Fonte: FGV ALEP 2024 Analista Legislativo - Desenvolvedor de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.