0

Prompting the user for many inputs, storing it in an array, then printing summation , average, largest number, smallest number and bigger number than mean number. I have defined a JavaScript variables called magicnumber which is a new Array , and print the value of array, like this:

var magicnumber = [];

mymagicNumber();

function mymagicNumber() {
  //Specify the size of array
  var size = parseInt(prompt("How many data values do you need have?"));
  for (var i = 1; i <= size; i++) {
    //sorted in array
    var num = parseInt(magicnumber.push(prompt("Enter data value number " + i)));
    var s = magicnumber.join(', ');
  }
  //Display array element
  document.getElementById("demo1").innerHTML = "Your data : " + s + "<br>";
}
<div id="demo1"></div>

how I can summation it?

Weedoze
  • 13,683
  • 1
  • 33
  • 63
coder
  • 25
  • 1
  • 7
  • 3
    Possible duplicate of [How to find the sum of an array of numbers](http://stackoverflow.com/questions/1230233/how-to-find-the-sum-of-an-array-of-numbers) – str May 02 '17 at 09:36
  • In addition to the answers of the duplicate question, you should also learn how to do it in a simple `for` loop : initialise a sum variable at `0`, then for each element of the array, increase the sum by the element. At the end of the loop, the sum variable is equal to the sum of the elements of the array. – Aaron May 02 '17 at 09:39
  • How I can print largest number and smallest number ? – coder May 02 '17 at 10:23

2 Answers2

0

Here are 2 more ways to find the summation, without using for loop.

var magicnumber = [];

function mymagicNumber() {
//Specify the size of array
var size = parseInt(prompt("How many data values do you need have?"));

for (var i = 1; i <= size; i++) {
 //sorted in array
 var num = magicnumber.push(parseInt(prompt("Enter data value number " + i)));
}

var data = magicnumber.join(', ');
var s1 = magicnumber.reduce(function(acc, val) {
 return acc + val;
});

var s2 = eval(magicnumber.join("+"));


//Display array element
document.getElementById("demo1").innerHTML = "Your data : " + data + "<br>";
document.getElementById("demo2").innerHTML = "Sum is: " + s1 + "<br>";
document.getElementById("demo3").innerHTML = "Sum is: " + eval(s2) + "<br>";
}

mymagicNumber();
<div id="demo1"></div>
<div id="demo2"></div>
<div id="demo3"></div>
Hari Das
  • 10,145
  • 7
  • 62
  • 59
0

You can use Array#reduce() to get the sum

var magicnumber = [];

mymagicNumber();

function mymagicNumber() {
  //Specify the size of array
  var size = parseInt(prompt("How many data values do you need have?"));
  for (var i = 1; i <= size; i++) {
    var promptValue = prompt("Enter data value number " + i);
    magicnumber.push(+promptValue);
  }
  var sum = magicnumber.reduce((a,b)=>{return a+b},0);
  //Display array element
  document.getElementById("demo1").innerHTML = "Your data : " + magicnumber.join(', ');
  document.getElementById("sum").innerHTML = "The sum : " + sum;
}
<div id="demo1"></div>
<div id="sum"></div>
Weedoze
  • 13,683
  • 1
  • 33
  • 63