I want to write a program that receives a list of numbers, converts them into an array, and output the even numbers in the array with Modulus Operator and For Loop.
The code does not run as expected:
function even_num(){
var submission = prompt("Enter Numbers:", ""); // receive list of numbers
var subarray = submission.split(''); // convert to array
for(var i =1; i < subarray.length; i++){
if( subarray[i] % 2 != 0){
document.getElementById("return").innerHTML += subarray[i] + ",";
}
}
}<button onclick="even_num()">Even Number in an Array</button> <p id = "return"></p>
Thank you
Advertisement
Answer
It’s a matter of incorrect condition.
i % 2 would give 0 for even numbers
function even_num() {
let submission = prompt("Enter Numbers:", "");
let subarray = submission.split('');
const result = document.getElementById("return");
result.innerHTML = '';
for (var i = 0; i < subarray.length; i++) {
if (subarray[i] % 2 == 0) {//Condition here was incorrect
result.innerHTML += subarray[i] + ",";
}
}
}<html> <button onclick="even_num()">Even Number in an Array</button> <p id="return"></p> </html>