Как найти максимальное число в javascript? - PullRequest
0 голосов
/ 14 марта 2020

Я не знаю, что не так с моим кодом, но даже если первое число является наибольшим, оно не отображает его, а отображает второе по величине число

Я сделал как один из предложенных, но моя проблема что, например, если я поставлю цифры как (100,58,12,0), первое число 100 не будет отображаться, но 58 будет, что я нахожу запутанным

спасибо всем, кто помогал г-ну, я нашел решение моя проблема

    var FirstNumber;
FirstNumber = window.prompt("Enter the First number");

var SecondNumber;
SecondNumber = window.prompt("Enter the Second number");

var ThirdNumber;
ThirdNumber = window.prompt("Enter the third number");

var ForthNumber;
ForthNumber = window.prompt("Enter the forth number");

var max = Math.max(FirstNumber, SecondNumber, ThirdNumber, ForthNumber);

document.writeln("<p>" + max + " is the largest number </p>");

Ответы [ 2 ]

2 голосов
/ 14 марта 2020

TLDR: Вы можете использовать Math.max

var FirstNumber = Number(prompt("Enter the First number"));

var SecondNumber = Number(prompt("Enter the Second number"));

var ThirdNumber= Number(prompt("Enter the third number"));

var ForthNumber = Number(prompt("Enter the forth number"));

var max = Math.max(FirstNumber, SecondNumber, ThirdNumber, ForthNumber);

document.writeln("<p>" + max + " is the largest number </p>");

Математическая макс будет работать нормально, пока пользователь вводит допустимое JS число

Обратите внимание, что это не обрабатывать неправильный ввод данных пользователем (например, ввод запятых, букв, обозначений scientifi c и т. д. c). Вы должны проверить, хотите ли вы избежать проблем NaN (не число).

Для проверки ввода пользователя вы можете создать собственное Регулярное выражение или использовать более продвинутый библиотека типа Numeral. js

A solid способ форматирования пользовательского вывода заключается в использовании intl formatter NumberFormat

Если вы планируйте работать с целыми числами больше Number.MAX_SAFE_INTEGER (2 53 -1 = 9007199254740991), вам необходимо использовать BigInt

1 голос
/ 14 марта 2020

Этот подход не использует Math.max.

Вы можете взять числа из приглашения с унарным плюсом * +.

Затем примените линейный подход и используйте первое значение в качестве значения max, проверьте второе значение и обновите, если max меньше.

После проверки каждого следующего числа у вас есть максимум значение.

var firstNumber = +prompt("Enter the First number"),
    secondNumber = +prompt("Enter the Second number"),
    thirdNumber = +prompt("Enter the third number"),
    forthNumber = +prompt("Enter the forth number"),
    max = firstNumber;

if (max < secondNumber) max = secondNumber;
if (max < thirdNumber) max = thirdNumber;
if (max < forthNumber) max = forthNumber;

console.log(max);
...