Why isn't my forEach loop recognizing 1 as a variable to check its presence in an array?

I’m using a forEach loop to determine if the number 1 exists within an array, but it doesn’t seem to correctly identify it. Here’s a sample code snippet:

const numbers = [2, 3, 4];
let found = false;

numbers.forEach(num => {
    if (num === 1) {
        found = true;
    }
});

console.log(found ? '1 is in the array' : '1 is not in the array');

Could someone explain why the loop isn’t working as intended? How should I modify it to properly check if 1 is present?

Hey there!

The code works fine but it starts with an array without ‘1’. If you want to check arrays efficiently, you can use includes():

const numbers = [2, 3, 4];
console.log(numbers.includes(1) ? '1 is in the array' : '1 is not in the array');

Simple and clean!

To efficiently determine if the number 1 is present in an array, a practical approach is to use JavaScript’s includes() method. It simplifies the process compared to loops.

const numbers = [2, 3, 4];

// Check if the array contains the number 1
const isOnePresent = numbers.includes(1);

console.log(isOnePresent ? '1 is in the array' : '1 is not in the array');

Why Use includes()?

  • Simplicity: The method directly checks for existence, streamlining the code.
  • Efficiency: It’s built-in and optimized for this type of operation, providing quick and readable results.

Using includes() makes your code cleaner and easier to maintain, especially when performing simple existence checks in arrays.