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