Exibir array Javascript

Olá, tenho uma questão de um trabalho que fala o seguinte:

Escreva um código que o usuário insira 10 nomes de pessoas. Armazene esses nomes em um Array igual ao abaixo e mostre apenas os nomes das pessoas que tenham 4 letras.

Eu tentei fazer, olhem meu código:

<html>
<head>
   <title>Atividade 1</ title>
</head>
<body>
    <script type="text/javascript">

       var pessoas =  ["João", "José", "Maria", "Sebastião", "Antônio"];
       var mostra  = "";
       for (var i = 0; i < pessoas.length ; i++) {
              if (pessoas[i].length == 4) 
               mostra = "Pessoa : " + pessoas[i] + "\n";
       };
       alert("Pessoas com mais de 4 letras : \n" + mostra);

    </script>
</body>
</html>

Alguém pode me ajudar?

1 curtida

O código parece certo. Qual o problema?

Não aparece os nomes que tenham 4 letras

Testei aqui e vi que o problema está no espaço extra nas tags.

Em vez de:

< html>

Deixe:

<html>

Arrume isso para todas as tags da página.

Não cara, eu dei espaço pois o GUJ tava “lendo” o html ao invés de mostrar o código. Isso não tem nada a ver

<html>

<head>
	<title>Atividade 1</title>
</head>

<body>
	<script type="text/javascript">
		var pessoas = ["João", "José", "Maria", "Sebastião", "Antônio"];
		var mostra = "";
		
		for (var i = 0; i < pessoas.length ; i++) {
			if (pessoas[i].length == 4) {
				mostra = "Pessoa : " + pessoas[i] + "\n";
			}
		};
		
		alert("Pessoas com mais de 4 letras : \n" + mostra);
	</script>
</body>

</html>

Rodei aqui e funcionou.

Estava faltando uma coisa no seu código, pois estava mostrando apenas o último nome com 4 letras. Agora o motivo de não está mostrando para você, talvez seja por conta do seu navegador, ou deve ser cache (que é o mais provável).

<html>

<head>
	<title>Atividade 1</title>
</head>

<body>
	<script type="text/javascript">
		var pessoas = ["João", "José", "Maria", "Sebastião", "Antônio"];
		var mostra = "";
		
		for (var i = 0; i < pessoas.length ; i++) {
			if (pessoas[i].length == 4) {
				mostra += "Pessoa : " + pessoas[i] + "\n";
			}
		};
		
		alert("Pessoas com mais de 4 letras : \n" + mostra);
	</script>
</body>

</html>

Limpei o cache e continua dando a mesma coisa