Problem
function getEvenNumbers(numbers) {
  let evenNumbers = [];

  for (let i = 0; i < numbers.length; i++) {
    if (numbers[i] % 2 === 1) {
      evenNumbers.push(numbers[i]);
    }
  }

  return evenNumbers;
}

getEvenNumbers([1,2,3,4,5,6])
Solution
function getEvenNumbers(numbers) {
  let evenNumbers = [];

  for (let i = 0; i < numbers.length; i++) {
    if (numbers[i] % 2 === 1) {
      evenNumbers.push(numbers[i]);
    }
  }

  return evenNumbers;
}

getEvenNumbers([1,2,3,4,5,6])

Our logic is a little off. n % 2 will return 0 if n is an even number. The bug is that our code checks if it returns 1 (which would be an odd number).

To fix this, we can change that line to see if it evaluates to 0, not 1.

function getEvenNumbers(numbers) {
  let evenNumbers = [];

  for (let i = 0; i < numbers.length; i++) {
    if (numbers[i] % 2 === 0) {
      evenNumbers.push(numbers[i]);
    }
  }

  return evenNumbers;
}

getEvenNumbers([1,2,3,4,5,6])