spongebob
spongebob

Reputation: 21

Largest number inputted

I was trying to get the largest input in HTML using JavaScript, but I cannot seem to get what's wrong with my code. could someone please help.

var numbers = [];
var output = document.getElementById("result");

function largest() {
  var number = document.getElementById("number");
  numbers.push(number.value);
  var max = Math.max(numbers);
  alert(max);


  number.innerHTML = "";
  output.innerHTML = max;
}
<p>Enter a number
  <input type="text" id="number" onchange="largest()"><br> Largest:
  <span id="result"></span>

</p>

Upvotes: 2

Views: 57

Answers (3)

Maik Lowrey
Maik Lowrey

Reputation: 17566

With sort() and revers() you can archive this too.

const numbers = [];
const output = document.getElementById("result");

function largest() {
  var number = document.getElementById("number");
  numbers.push(+number.value);
  const max = numbers.sort().reverse()[0];
  number.innerHTML = "";
  output.innerHTML = max;
}
<p>
  Enter a number
  <input type="text" id="number" onchange="largest()"><br> Largest:
  <span id="result"></span>
</p>

Upvotes: 1

mplungjan
mplungjan

Reputation: 177885

You needed a plus (unary plus operator) and a spread ... to handle Math.max with an array

var numbers = [];
var output = document.getElementById("result");

function largest() {
  var number = document.getElementById("number");
  numbers.push(+number.value);
  var max = Math.max(...numbers);
  console.log(max);


  number.innerHTML = "";
  output.innerHTML = max;
}
<p>Enter a number
  <input type="text" id="number" onchange="largest()"><br> Largest:
  <span id="result"></span>

</p>

Upvotes: 2

lost you
lost you

Reputation: 111

Please try with code below

var max = Math.max(numbers); ===> var max = Math.max(...numbers);

Upvotes: 0

Related Questions