поиск наибольшего из 5 чисел в JavaScript

#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 того, чтобы…