'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>


Solution 1:[1]

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>

Solution 2:[2]

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>

Solution 3:[3]

Please try with code below

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

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Maik Lowrey
Solution 3 lost you