Iniciante em javascript

JavaScript Estrutura de Repetição Condicional Geral Estrutura Condicional e operadores lógicos. Expressões lógicas.

Olá, estou fazendo um curso de Javascript e tem um exercício que o próposito é eu fazer um site que a pessoa deve escrever um número de 1 a 100, esse número vai para um select, ( a pessoa vai adicionando quantos números quiser), após escolhidos esse grupo de número no resultado eu devo mostrar: O maior número entre eles O menor número entre eles A média dos números A soma de todos os números Beleza, meu problem por enquanto está na parte da adição de número na caixa select... se alguem puder dá uma olhada no meu código e ver o porque que não roda!!! POR FAVOR !!! Segue: function adicionar(){ var num = document.getElementById('txtnum') var add = document.getElementById('txtadd') var adicionar = true var opt = document.createElement('option') if (num.value.length == 0 || num.value < 1 || num.value > 100) { window.alert('[ERRO] Digite um valor válido') } else { var numb = Number(num.value) for (i= 0;i < add.options.length; i ) { if (numb == add.options[i].value){ adicionar = false } } } if ( adicionar = true) { opt.text = `O valor adicionado foi ${numb}` opt.value = numb numb.appendChild(opt); } }

Foto de Ranner P.
Ranner perguntou há 2 anos

Sabe a resposta?

Ganhe 10 pts por resposta de qualidade
Responder dúvida
1 resposta
0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Marnei C.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 2 anos

Buenas! Fiz algumas modificações no teu código e vou fazer algumas observações. Espero que te ajude!

Procure utilizar as variáveis do tipo let e const ao invés de var em JavaScript. Se ainda não conhece, sugiro pesquisar sobre, porque é a forma moderna e recomendada. Let permite alterar o valor guardado na variável e const não permite, então use em valores que não vá alterar. Evite var por causa dos "vazamentos".

Alterei o texto do alert para tornar mais "amigável" para o usuário:
alert('Por favor informe um valor entre 1 e 100')
 
Alterei o local onde o elemento option é criado, porque só precisa criá-lo se entrar no else (questão de Lógica).
 
Fiz um ajuste no for, adicionando o let i = 0 (era i = 0) e o ++ no i para incrementar o contador (senão ele não nunca):
for (let i = 0; i < add.options.length; i++) {
 
 
No geral, teu código e a tua Lógica estão muito bons, parabéns!
Espero que consiga entender e aproveitar a resposta!
Abraço e bons estudos!

Envie uma dúvida gratuitamente

Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.

Professores particulares de JavaScript

+ Ver todos
Encontre professor particular para te ajudar nos estudos
R$ 50 / h
Marnei C.
Gravataí / RS
Marnei C.
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
JavaScript ES6 JavaScript - ECMA JavaScript - for each
Graduação: Análise e Desenvolvimento de Sistemas (QI Faculdades e Escola Técnica)
Professor e desenvolvedor há mais de 10 anos ensinando a criar sites, sistemas para web e apps de forma descontraída, prática, simples e objetiva.
R$ 70 / h
Vinícius B.
Santo André / SP
Vinícius B.
5,0 (13 avaliações)
Horas de aulas particulares ministradas 21 horas de aula
Tarefas resolvidas 5 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
JavaScript Básico JavaScript - Back-End JavaScript - Estrutura de Repetição Condicional
MBA: Business Intelligence (Faculdade Descomplica)
Te ensino a programar. Professor de programação, com 5 anos de atuação em .net, sql, entity framework, scrum etc.
R$ 50 / h
Gustavo A.
Campina Grande / PB
Gustavo A.
5,0 (2 avaliações)
Horas de aulas particulares ministradas 7 horas de aula
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
JavaScript Básico Javascript Geral JavaScript - CSS
Graduação: Engenharia da Computação (IFPB - Campus Campina Grande )
Desenvolvedor web python e javascript. Acompanhamento particular em python, html,css e javascript