DEV Community

Ticha Godwill Nji
Ticha Godwill Nji

Posted on • Edited on

1

Counting Even Numbers in an Array using JavaScript

In JavaScript, it's often necessary to perform operations on arrays efficiently. One common task is counting the number of even numbers within an array. The isEven function provided below accomplishes this task by iterating through the array and incrementing a counter whenever it encounters an even number.

function isEven(arr) {
    var count = 0; // Initialize a counter to keep track of even numbers

    // Iterate through the array
    for (var i = 0; i < arr.length; i++) {
        // Check if the current element is even
        if (arr[i] % 2 === 0) {
            count++; // Increment the counter if the element is even
        }
    }

    return count; // Return the total count of even numbers
}
Enter fullscreen mode Exit fullscreen mode
console.log(isEven([1, 2, 3, 4, 5])); // Should output 2

Enter fullscreen mode Exit fullscreen mode

Analysis

  • Efficiency: The time complexity of this function is O(n), where n is the length of the input array. This is because it iterates through the array once, performing a constant-time operation (modulus) on each element.

  • Space Complexity: The space complexity of this function is O(1) because it only uses a constant amount of additional memory regardless of the size of the input array. The only variable it declares is count, which stores the count of even numbers.

AWS GenAI LIVE image

How is generative AI increasing efficiency?

Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

Learn more

Top comments (3)

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited
arr.filter(x=>1&x^1).length
Enter fullscreen mode Exit fullscreen mode
Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

How about an option that's both more generic and avoids allocating a new array:

count = fn => arr => arr.reduce((c,v) => c+(!!fn(v)),0)
count_even = count(x=>1&x^1)
console.log(count_even([1, 2, 3, 4, 5]))
Enter fullscreen mode Exit fullscreen mode
Collapse
 
gloomweaver profile image
Kirill Khramkov

With developer.mozilla.org/en-US/docs/W...

Iterator.from(array)
  .filter((x) => x % 2 == 0)
  .reduce((acc) => acc + 1, 0);
Enter fullscreen mode Exit fullscreen mode

Eliminate Context Switching and Maximize Productivity

Pieces.app

Pieces Copilot is your personalized workflow assistant, working alongside your favorite apps. Ask questions about entire repositories, generate contextualized code, save and reuse useful snippets, and streamline your development process.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay