How to show the smallest age between 3 ages with Javascript?

Asked

Viewed 559 times

8

How can I show the youngest age of 3 ages in javascript?

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

        var idade1, idade2, idade3 ;

        idade1 = prompt("Digite a primeira idade");
        idade1 = eval(idade1) ;

        idade2 = prompt("Digite a segunda idade");
        idade2 = eval(idade2) ;

        idade3 = prompt("Digite a terceira idade");
        idade3 = eval(idade3) ;

        if( idade1 < idade2 || idade1 < idade3 );
        document.write( idade1 );
        } 
        else if ( idade2 < idade1 || idade2 < idade3 );
        document.write( idade2 );
        } 
        else 
        {
        ( idade3 < idade1 || idade3 < idade2 );
        document.write( idade3 );}


       </script>

   </head>
  <body> 
 </body>
</html>

2 answers

10

Just adding a detail to Sergio’s example, for what he requested in proofs to compare via if else can use a function of Javascript same, the Math.min() ou Math.max() minimum and maximum. Following example applied to your model:

<script>
     var idade1, idade2, idade3;

     idade1 = prompt("Digite a primeira idade");
     idade1 = Number(idade1);

     idade2 = prompt("Digite a segunda idade");
     idade2 = Number(idade2);

     idade3 = prompt("Digite a terceira idade");
     idade3 = Number(idade3);

    var min = Math.min(idade1, idade2, idade3);
    alert(min);

</script>

9


You have some syntax and semantic errors:

When you have if( idade1 < idade2 || idade1 < idade3 ); missing a {, several times.

When you have || you must have && to ensure that it is mandatory and not optional.

I changed the eval for Number. In this case it would do the same effect, but if whoever enters the number put code, the eval will run this code and can cause serious security problems. Although I defend the use of Eval, in this case it is wrong. You can read more about it here.

If you want to run different code for each age the solution below works. If you want to know only the smallest of all, you can use the Math.min() as Cleverson suggested in his answer.

suggestion:

 var idade1, idade2, idade3;

 idade1 = prompt("Digite a primeira idade");
 idade1 = Number(idade1);

 idade2 = prompt("Digite a segunda idade");
 idade2 = Number(idade2);

 idade3 = prompt("Digite a terceira idade");
 idade3 = Number(idade3);

 if (idade1 < idade2 && idade1 < idade3) {
     alert(idade1);
 } else if (idade2 < idade1 && idade2 < idade3) {
     alert(idade2);
 } else {
     (idade3 < idade1 && idade3 < idade2);
     alert(idade3);
 }

  • helped a lot, thank you.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.