Explain Codes LogoExplain Codes Logo

How to find the sum of an array of numbers

javascript
reduce
functions
best-practices
Nikita BarsukovbyNikita Barsukov·Nov 11, 2024
TLDR

Quickly sum up an array of numbers with JavaScript's reduce method:

const sum = [1, 2, 3, 4, 5].reduce((accumulator, currentValue) => accumulator + currentValue, 0);

In the above code, reduce iterates over the array, accumulating (accumulator), the sum by adding each currentValue, starting from 0. The result is, sum becomes 15.

Dive deeper into reduce()

The reduce method is more than a simple tool for adding numbers. It's a versatile function that also handles empty arrays safely when used with an initial value.

Clear expressions with arrow functions

Arrow functions, (a, b) => a + b, provide a concise way to perform operations within reduce, making your code easier to follow.

Staying friendly with older JavaScript versions

If you're using an older JavaScript version, write a function expression:

function add(accumulator, currentValue) { return accumulator + currentValue; } // I add, therefore I am! const sum = [1, 2, 3, 4, 5].reduce(add, 0);

Other ways to add numbers

Besides reduce, a for-in loop can also sum up your numbers like a hungry cookie monster munching on cookies:

let total = 0; // Start with an empty stomach for(let index in array) { total += array[index]; // Yum yum cookies! }

Dealing with non-numeric values

When working with arrays that may have non-numeric values, make sure to filter them or convert them into numbers to avoid unexpected results and maintain the balance of universe!

eval is a no-go!

Avoid using eval to compute sums - it's like inviting a vampire into your house. It can lead to serious security issues.

Detailed understanding and best practices

Handling vast sea of numbers

When dealing with large arrays, consider reduce your steadfast ship. But don't neglect other alternatives, they might offer better performance or readability, depending on the situation.

Using frameworks

Working with frameworks like jQuery? Remember that using $.each is like sailing in choppy waters compared to cruising in calm sea using native JavaScript methods like reduce.

Beyond numbers

Reduce isn't just good with numbers, it can also work with other value types like objects and strings. It's like magic, but in code form!

Stay informed

Keep a link to the reduce documentation handy on MDN - your guide in the vast ocean of JavaScript!