JS максимальное число
Чтобы найти максимальное число в JavaScript используйте Math.max . Смотрите пример:
console.log(Math.max(10, 45, 50, 344, 30));
Результат выполнения кода:
Максимальный элемент в массиве через apply
Хитрым путем можно найти максимальное значение массива, используя Math.max в связке с методом apply :
let arr = [10, 45, 50, 344, 30]; console.log(Math.max.apply(null, arr));
Результат выполнения кода:
Максимальный элемент в массиве через spread
Использование метода apply для нахождения минимального элемента в массиве считается устаревшим с появлением оператора spread. Давайте посмотрим пример:
let arr = [10, 45, 50, 344, 30]; console.log(Math.max(. arr));
Результат выполнения кода:
Смотрите также
- урок
нахождение минимального числа
Максимальное и минимальное значение в массиве на JavaScript
Начало стандартное: я новичок в JavaScript. Прежде чем задать вопрос, почитал тут: Максимальное и минимальное значение в массиве Задача: на вход функции подается строка с числами, разделенными пробелом. Нужно вернуть строку с максимальным и минимальным числом. Примеры строк: «4 5 29 54 4 0 -214 542 -64 1 -3 6 -6» «10 2 -2 -10» «1 -1» «42» Пример использования: str = «10 2 -2 -10»; result = function(str); Переменная result содержит 10 -10.
function fifth(str) < alert('Рассматриваем массив: ' + str); var arr = [] var max = str[0]; var min = str[0]; arr = str.split(' '); alert('Количество элементов в массиве: ' + arr.length ); alert('Массив: ' + arr); for (var i = 0; i < arr.length; i++) < // переберем весь массив // если элемент больше, чем в переменной, то присваиваем его значение переменной //alert('Значение arr[i]: '+ arr[i]); if (parseInt(max,10) < arr[i]) < max = arr[i]; >else if (parseInt(max,10) == arr[i]) < alert('Максимальное значение arr[i]: '+ arr[i] + ' равно ' + arr[i]); max = arr[i]; >//alert('Проверяем на максимальное значение arr[i]: ' + arr[i]); > for (var i = 0; i < arr.length; i++) < alert('Сравнимаем min ' + min + ' и ' + arr[i]); if (parseInt(min,10) >arr[i]) < min = arr[i]; >else if (parseInt(min,10) == arr[i]) < alert('Минимальное значение arr[i]: '+ arr[i] + ' равно ' + arr[i]); min = arr[i]; >> alert('Минимальное значение в массиве: ' + min + '\nМаксимальное значение в массиве: ' + max); result = max + ' ' + min; return result; > //str = "3 -6"; //str = '4, 5, 29, 54, 4, 0, -214, 542, -64, 1, -3, 6, -6'; //str = "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"; str = "42"; //var result = fifth("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"); var result = fifth(str); alert('Результат: ' + result);
Первая проблема, с которой столкнулся — если число из трёх цифр, то тоно не участвует в сравнении. Решил это используя parseInt(max,10). Вторая проблема: если в функцию передать одно строку, состоящую из одного числа, например, 42, то результат не тот, который ожидается. С Math.min экспериментировал:
function fifth(str) < var min = 0; var max = 0; var result = 0; var arr = [] arr = str.split(''); var re = / /gi; var newstr = str.replace(re, ', '); alert('Рассматриваем массив: ' + str); alert('Рассматриваем массив: ' + newstr); min = Math.min.apply(Math, [arr]); max = Math.max.apply(Math, [arr]); alert('Минимальное значение в массиве: ' + min + '\nМаксимальное значение в массиве: ' + max); result = min + ' ' + max; return result; >str = "42"; //str = "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"; //var result = fifth("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"); var result = fifth(str); alert('Результат: ' + result);
В итоге получаю: Минимальное значение в массиве: NaN Максимальное значение в массиве: NaN Научите как правильно решить данную задачу.
Math.max()
Метод Math.max() возвращает наибольшее из нуля или более чисел.
Синтаксис
Math.max([value1[, value2[, . ]]])
Параметры
Описание
Поскольку метод max() является статическим методом объекта Math , вы всегда должны использовать его как Math.max() , а не пытаться вызывать метод на созданном экземпляре объекта Math (поскольку объект Math не является конструктором).
При вызове без аргументов результатом вызова будет значение — Infinity .
Если хотя бы один из аргументов не может быть преобразован в число, результатом будет NaN .
Примеры
Пример: использование метода Math.max()
.max(10, 20); // 20 Math.max(-10, -20); // -10 Math.max(-10, 20); // 20
Нахождение максимального элемента в массиве
Следующая функция использует метод Function.prototype.apply() для нахождения максимального элемента в числовом массиве. Вызов getMaxOfArray([1, 2, 3]) эквивалентен вызову Math.max(1, 2, 3) , однако вы можете использовать функцию getMaxOfArray() вместе с программно сконструированными массивами любого размера. Рекомендуется использовать только в случае обработки массивов с небольшим количеством элементов.
function getMaxOfArray(numArray) return Math.max.apply(null, numArray); >
Спецификации
| Specification |
|---|
| ECMAScript Language Specification # sec-math.max |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on 7 авг. 2023 г. by MDN contributors.
Your blueprint for a better internet.
MDN
Support
- Product help
- Report an issue
Our communities
Developers
- Web Technologies
- Learn Web Development
- MDN Plus
- Hacks Blog
- Website Privacy Notice
- Cookies
- Legal
- Community Participation Guidelines
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.
Как найти самое большое число в массиве js
Для того, чтобы найти максимальный элемент в массиве, можно воспользоваться не только агрегацией. Давайте обратимся к стандартным возможностям языка и рассмотрим метод Math.max.apply():
const numbers = [-94, 87, 12, 0, -67, 32]; const maxValue = Math.max.apply(null, numbers); //обратите внимание, что в записи данного метода обязателен null. //Если забыть в записи данного выражения null, то в переменную maxValue вернётся -Infinity. console.log(maxValue); // => 87
Есть ещё более хитрый способ использовать метод Math.max():
Для этого вспомним про spread оператор.
const numbers = [-94, 87, 12, 0, -67, 32]; const maxValue = Math.max(. numbers); console.log(maxValue); // => 87
И невозможно не упомянуть про библиотеку Lodash с методом _.max():
const numbers = [-94, 87, 12, 0, -67, 32]; const maxValue = _.max(numbers); console.log(maxValue); // => 87
Документация:
- Math.max.apply()
- _.max()
