#javascript #html
#javascript #HTML
Вопрос:
Необходимо найти наибольшее из ряда чисел, но числа должны поступать из пользовательского ввода. Для этого назначения JavaScript должен быть написан в HTML doc, это то, что у меня есть до сих пор:
function getLargest(a,b,c,d,e){
let numArray = [b,c,d,e];
let largest = a;
for(let item of numArray){
if(item > largest){
largest = item;
}
}
return largest;
document.getElementById('largest').innerHTML = largest
}
let a = prompt("Enter 1st Number");
let b = prompt("Enter 2nd Number");
let c = prompt("Enter 3rd Number");
let d = prompt("Enter 4th Number");
let e = prompt("Enter 5th Number");
getLargest (a,b,c,d,e);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h2>The Largest number is:</h2>
<p id = "largest"></p>
</body>
</html>
Комментарии:
1.
Math.max
, может быть?2. Проблема с вашей попыткой заключается в том, что вы возвращаетесь до того, как отобразите результат, и отбрасываете возвращаемое значение…
3. Вы также можете использовать
arr.sort((a,b) => a-b)
4. @FZs не могли бы вы рассказать об этом?
5. @Archies но это создало бы ненужные накладные расходы (= было бы медленнее)…
Ответ №1:
Ваш код возвращается largest
до того , как он попадет в document.getElementById('largest').innerHTML = largest
.
Кроме того, вы можете просто использовать Math.max(...numArray)
, чтобы получить максимум вместо всего кода, который вам нужно найти largest
.
Ответ №2:
вы могли бы написать функцию getLargest следующим образом:
function getLargest(...nums) {
let max_value = Math.max(...nums);
return max_value;
}
Комментарии:
1. Или еще проще,
const getLargest = Math.max
… Или… просто звонюMath.max
вместоgetLargest
того, чтобы…