-1

I am trying to make a function that provides the lowest multiplier of two integers. I've got some embedded JavaScript in my HTML file. It seems like the script isn't even running. It must be a problem with the function right? Because even when I did a simple direct return a*b function and it still didn't run. I am missing something here and can't find it.

<!-- language: lang-js -->
<!DOCTYPE html>
<html>
<body>

<p>The lowest multiple:</p>

<p id="demo"></p>

<script>


function myFunction(a, b) {
    var aArray = [];
    var bArray = [];

    for(var i = 2; true ; i++){
        aArray.push(i*a);
        bArray.push(i*b);
        if(i%10 == 0){
              for each(var item in aArray){
                  if(bArray.indexOf(item) >= 0){
                       return item;
                 }
             }
              if(i === 100){break;}
         }
    }
}
var a = prompt("");
var b = prompt("");

document.getElementById("demo").innerHTML = myFunction(a, b);
</script>

</body>
</html>
Joel De La Cruz
  • 647
  • 1
  • 6
  • 20

2 Answers2

0

for each(var item in aArray)

is not syntactically valid JavaScript. Array.prototype.forEach is a function you could use for iteration.

Nathanael Smith
  • 3,173
  • 1
  • 13
  • 12
0
<!-- language: lang-js -->
<!DOCTYPE html>
<html>
<body>

<p>The lowest multiple:</p>

<p id="demo"></p>

<script>


function myFunction(a, b) {
    var aArray = [];
    var bArray = [];

    for(var i = 2; true ; i++){
        aArray.push(i*a);
        bArray.push(i*b);
        if(i%10 == 0){
              for(var item in aArray){
                  if(bArray.indexOf(aArray[item]) >= 0){

                       return aArray[item];
                 }
             }
              if(i === 100){break;}
         }
    }
}
var a = prompt("");
var b = prompt("");

document.getElementById("demo").innerHTML = myFunction(a, b);
</script>

</body>
</html>
Slava N.
  • 596
  • 4
  • 6