# Sum Up an Array of Numbers : Frontend Coding Exercise

**URL:** <https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697>\
**Category:** programming\
**Created:** [September 24, 2022, 6:09pm UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697 "2022-09-24T18:09:47Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [September 24, 2022, 6:09pm UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/1 "2022-09-24T18:09:47Z")

</div>

This is a companion discussion topic for the original entry at [https://www.kirupa.com/codingexercises/sum\_arrays.htm](https://www.kirupa.com/codingexercises/sum_arrays.htm)

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [September 24, 2022, 6:11pm UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/2 "2022-09-24T18:11:46Z")

</div>

Here is one potential solution:

```auto
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Sum an Array of Numbers</title>
</head>
<body>
  <script>
    let numbers = [4, 10, 5, 7, 13, 20];

    let total = numbers.reduce((total, current) => total + current, 0);

    console.log(`Sum of array values is ${total}`);

  </script>
</body>
</html>

```

I recorded a video as well that walks through a few other solutions that could work:

[![](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/1/e/1ed1aad422b0b1f5486406d36d644e3c13621a86.jpeg "Sum Up an Array of Numbers : Frontend Coding Exercise") ](https://www.youtube.com/watch?v=_6YbONDOmko)

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [September 24, 2022, 6:11pm UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/3 "2022-09-24T18:11:47Z")

</div>



---

<div class="post-metadata">

**Author:** ![anilcha](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/anilcha/32/18872_2.png) [@anilcha](https://forum.kirupa.com/u/anilcha)\
**Post date:** [September 25, 2022, 12:24pm UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/4 "2022-09-25T12:24:09Z")

</div>

```auto
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Sum an Array of Numbers</title>
</head>
<body>
  <script>
    let numbers = [4, 10, 5, 7, 13, 20];
    let sum = 0
    numbers.forEach(num => sum += num)
    console.log(sum)
  </script>
</body>
</html>

```

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [September 25, 2022, 8:14pm UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/5 "2022-09-25T20:14:58Z")

</div>

Hi @anilcha - welcome to the forums! Really nicely done with your entry. Very compact too 😛

You got the [badge](http://forum.kirupa.com/u/anilcha/badges) for completing this!

Cheers,  
Kirupa

---

<div class="post-metadata">

**Author:** ![senocular](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/senocular/32/7217_2.png) [@senocular](https://forum.kirupa.com/u/senocular)\
**Post date:** [September 25, 2022, 9:56pm UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/6 "2022-09-25T21:56:11Z")

</div>

I’m going to take advantage of the DOM to do the adding for me!

```javascript
let numbers = [4, 10, 5, 7, 13, 20];

function div (width) {
  let el = document.createElement("div");
  el.style.display = 'inline-block';
  if (width) el.style.width = `${width}px`;
  return el;
}

let container = document.body.appendChild(div());
numbers.forEach(num => container.appendChild(div(num)));
let total = container.offsetWidth;
container.remove();

console.log(`Sum of array values is ${total}`);

```

---

<div class="post-metadata">

**Author:** ![anilcha](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/anilcha/32/18872_2.png) [@anilcha](https://forum.kirupa.com/u/anilcha)\
**Post date:** [September 26, 2022, 8:03am UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/7 "2022-09-26T08:03:56Z")

</div>

Thank you. 😃

---

<div class="post-metadata">

**Author:** ![krilnon](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/krilnon/32/34_2.png) [@krilnon](https://forum.kirupa.com/u/krilnon)\
**Post date:** [October 3, 2022, 12:17am UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/8 "2022-10-03T00:17:41Z")

</div>

```nohighlight
[4, 10, 5, 7, 13, 20].reduce(0, +) // Swift

```

---

<div class="post-metadata">

**Author:** ![senocular](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/senocular/32/7217_2.png) [@senocular](https://forum.kirupa.com/u/senocular)\
**Post date:** [October 3, 2022, 2:16am UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/9 "2022-10-03T02:16:26Z")

</div>

I’ve often wished JS had an add function, something along the lines of Math.max but for adding. The you’d be able to do something like

```nohighlight
Math.add(...numbers)

```

---

<div class="post-metadata">

**Author:** ![steve.mills](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/steve.mills/32/14961_2.png) [@steve.mills](https://forum.kirupa.com/u/steve.mills)\
**Post date:** [October 3, 2022, 2:47am UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/10 "2022-10-03T02:47:13Z")

</div>

Why not:

```auto
Math.prototype.add = function(…nums){let acc = 0; for(let num of nums){acc += num} return acc}

```

even if they did release a `Math.add` It would probably be the same…

---

<div class="post-metadata">

**Author:** ![senocular](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/senocular/32/7217_2.png) [@senocular](https://forum.kirupa.com/u/senocular)\
**Post date:** [October 3, 2022, 3:50am UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/11 "2022-10-03T03:50:18Z")

</div>

> [@steve.mills](#):
>
> even if they did release a `Math.add` It would probably be the same…

That’s probably what they thought with [flatten](https://developer.chrome.com/blog/smooshgate/) 😜

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [October 5, 2022, 4:27pm UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/12 "2022-10-05T16:27:14Z")

</div>

Steve, Sen - you both got the badge (in case you didn’t get it already!) 🏅

---

<div class="post-metadata">

**Author:** ![TheCanadian](https://avatars.discourse-cdn.com/v4/letter/t/67e7ee/32.png) [@TheCanadian](https://forum.kirupa.com/u/TheCanadian)\
**Post date:** [October 12, 2022, 8:50pm UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/13 "2022-10-12T20:50:34Z")

</div>

Can I use R?

```auto
numbers = c(4, 10, 5, 7, 13, 20)
sum(numbers)

```

> **[Sum Up an Array of Numbers (R) - myCompiler](https://www.mycompiler.io/view/HeGcj8buxsi)**

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [October 13, 2022, 4:07pm UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/14 "2022-10-13T16:07:10Z")

</div>

Yes! That is awesome 🙂

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [October 16, 2022, 1:29am UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/15 "2022-10-16T01:29:12Z")

</div>

Also, @TheCanadian, forgot to give you a badge 😛

 ![image](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/1/2/12f4f3e95ad0eefbd31298c7ae44af845d37294c.png)

---

<div class="post-metadata">

**Author:** ![TheCanadian](https://avatars.discourse-cdn.com/v4/letter/t/67e7ee/32.png) [@TheCanadian](https://forum.kirupa.com/u/TheCanadian)\
**Post date:** [October 18, 2022, 12:51am UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/16 "2022-10-18T00:51:00Z")

</div>

My word, I just discovered all of the other challenges. I’m going to be busy for a while.

---

<div class="post-metadata">

**Author:** ![PAEz](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/paez/32/19607_2.png) [@PAEz](https://forum.kirupa.com/u/PAEz)\
**Post date:** [January 26, 2023, 5:13pm UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/17 "2023-01-26T17:13:51Z")

</div>

The evil way 😜  
let numbers = [4, 10, 5, 7, 13, 20];  
eval(numbers.join(‘+’));

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [January 26, 2023, 6:04pm UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/18 "2023-01-26T18:04:34Z")

</div>

> [@PAEz](#):
>
> let numbers = [4, 10, 5, 7, 13, 20];  
> eval(numbers.join(‘+’))

That is pure evil! But, it does earn you a badge 🙂

---

<div class="post-metadata">

**Author:** ![cynna\_416](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/cynna_416/32/22342_2.png) [@cynna\_416](https://forum.kirupa.com/u/cynna_416)\
**Post date:** [June 14, 2023, 4:11am UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/19 "2023-06-14T04:11:13Z")

</div>

HTML:

 Sum an Array of Numbers 
# Sum an array of numbers
  

## Instructions:

Create an array of numbers and add them all together. The results should be in the console.

JavaScript:  
// Create an array of numbers  
let numbers = [  
4,  
10,  
5,  
7,  
13,  
20,  
];

// Create a variable to hold the sum  
let sum = 0;

// Loop over the array, adding each number to the sum  
for (let i = 0; i \< numbers.length; i++) {  
sum += numbers[i];  
}

// Put the result in the console  
console.log("Sum of array values is: " + sum);

---

<div class="post-metadata">

**Author:** ![cynna\_416](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/cynna_416/32/22342_2.png) [@cynna\_416](https://forum.kirupa.com/u/cynna_416)\
**Post date:** [June 14, 2023, 4:46am UTC](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697/20 "2023-06-14T04:46:37Z")

</div>

```auto
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Sum an Array of Numbers</title>
    <!--<link rel="stylesheet" href="sumArrStyles.css">-->
</head>
<body>
    <h1>Sum an array of numbers</h1>
    <br>
    <h2>Instructions:</h2>
    <p>Create an array of numbers and add them all together. The results should be in the console.</p>

    
    <script>
        // Create an array of numbers
        let numbers = [
            4,
            10,
            5,
            7,
            13,
            20,
        ];

        // Create a variable to hold the sum
        let sum = 0;

        // Loop over the array, adding each number to the sum
        for (let i = 0; i < numbers.length; i++) {
            sum += numbers[i];
        }

        // Put the result in the console
        console.log("Sum of array values is: " + sum);
    </script>
</body>
</html>

```

[Next page](https://forum.kirupa.com/t/sum-up-an-array-of-numbers-frontend-coding-exercise/653697.md?page=2)
