По максимуму: использование Math.min и .max

По максимуму: использование Math.min и .max

От автора: поиск минимума и максимума в наборе чисел – обычная задача в программировании. В JavaScript для этого вполне можно использовать математические операторы или даже серию условий if, однако функция Math.max (и противоположная ей Math.min) намного эффективнее и точнее.

Math.max отличается от самописных функций тем, что она встроенная и ее можно сразу же использовать. Из набора аргументов данная функция всегда возвращает самое большое число. Например, в консоли:

Если в аргументах переданы не числа, результат будет Nan (Not A Number, для новичков эта тема вообще темный лес). Также Math.max может принимать переменные и свойства объекта:

Бесплатный курс «Full-Stack практика»

Изучите курс и создайте веб-приложение с нуля на JavaScript, NodeJS, ExpressJS

Получить курс

Единственное, что не умеет эта функция – автоматически искать максимальное значение в массиве. Здесь традиционно нужно использовать цикл и сравнивать каждое значение, сохраняя большее из них. Для браузеров с поддержкой ES6 оператор spread еще короче:

Math.max часто используют для сравнения типа «или». Например, если вы берете размеры экрана:

Переменная screenWidth, назначаемая через let, должна быть числом: либо ширина экрана (если тест провалился, и это не число), либо 0.

Бесплатный курс «Full-Stack практика»

Изучите курс и создайте веб-приложение с нуля на JavaScript, NodeJS, ExpressJS

Получить курс

Достать до дна

Math.min работает наоборот: среди значений .min находит минимальное.

Math.min часто используют для установки или определения граничных условий. Например, у нас есть мяч, прыгающий внутри прямоугольной области. Правая сторона прямоугольника равна 500px. При соприкосновении необходимо, чтобы правая сторона мяча (ball.right) не выходила за пределы правой стороны прямоугольника (500).

Также можно использовать оператор троеточия для «распространения» значений в массиве внутри функции Math.min. Дан массив bugSizes, нужно найти самое маленькое насекомое:

Или можно использовать apply (поддержка которого намного лучше):

Как и троеточие, apply можно использовать с Math.max.

Источник: http://thenewcode.com/

Редакция: Команда webformyself.

Бесплатный курс «Full-Stack практика»

Изучите курс и создайте веб-приложение с нуля на JavaScript, NodeJS, ExpressJS

Получить курс

JavaScript&jQuery с нуля до профи

Пройдите пошаговый видеокурс по JavaScript&jQuery

Научиться

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Я не робот.

Spam Protection by WP-SpamFree