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