JavaScript имеет встроенный Math object, который позволяет выполнять математические задачи для Number type. Через Math доступен ряд различных функций, некоторые из которых используются чаще, чем другие. Я собираюсь показать вам несколько наиболее распространенных функций, предоставляемых Math, и способы их использования.

Math.ceil (), Math.floor () и Math.round ()

Эти первые три функции, Math.ceil(), Math.floor() и Math.round() сосредоточены на округлении целого числа, переданного в качестве аргумента, до целого числа.

Math.ceil(x) возвращает наименьшее целое число, которое больше или равно x или переданное число. Это означает, что если переданное число еще не является целым числом, оно будет округлено в большую сторону (подумайте «ceil как потолок) до ближайшего целого числа. Если переданный аргумент уже является целым числом, аргумент будет возвращен без изменений.

console.log(Math.ceil(.75)); // 1
console.log(Math.ceil(9)); // 9
console.log(Math.ceil(10.007)); // 11

Поскольку потолок противоположен полу, Math.floor(x) возвращает наибольшее целое число меньше заданного числа или равного ему. Любое целое число, переданное в Math.floor(), будет округлено до ближайшего целого числа. Как и Math.ceil(), если аргумент уже является целым числом, аргумент будет возвращен без изменений.

Math.floor(38.95); // 38
Math.floor(40.02); // 40

Math.round(x) отличается от двух предыдущих функций тем, что округляет до ближайшего целого числа и не имеет предопределенного округления в большую или меньшую сторону. Любое целое число с плавающей запятой, которое заканчивается на .5 или выше, будет округлено в большую сторону, а любое целое число с плавающей запятой ниже этого порога будет округлено в меньшую сторону. Еще раз, если аргумент уже является целым числом, аргумент будет возвращен без изменений.

Math.round(15.5); // 16
Math.round( 11.49); // 11
Math.round( 23); // 23
Math.round(-38.5); // -38
Math.round(-42.51); // -43

Math.min () и Math.max ()

Math.min() и Math.max() принимают array целых чисел в качестве аргумента и возвращают либо минимальное, либо максимальное значение внутри.

Math.min(1, 242, 0, 14, -8, -50); // -50
Math.max(8, 620, 40, 120, 0, -34); // 620

И для Math.min(), и для Math.max(), если хотя бы один из аргументов или элементов в массиве не может быть преобразован в число, функция вернет NaN.

Math.random ()

Math.random() возвращает плавающее псевдослучайное целое число от 0 до меньше 1. Диапазон чисел, который Math.random() может возвращать, включает 0, но не включает 1.

Обычно Math.random() используется вместе с другими математическими уравнениями для масштабирования диапазона случайно сгенерированных чисел. Например:

Чтобы вернуть случайное число от 1 до 10:

Math.floor((Math.random() * 10) + 1);

Чтобы вернуть случайное число от 1 до 100:

Math.floor((Math.random() * 100) + 1);

Поскольку Math.random() генерирует целое число с плавающей запятой или десятичное число, вы обычно будете видеть его в паре с Math.floor(), чтобы округлить результат уравнения до целого числа.

Math.sign ()

Еще одна часто используемая функция, предоставляемая объектом Math , - это Math.sign(). Math.sign() возвращает положительное или отрицательное значение +/- 1, что указывает на знак целого числа, переданного в качестве аргумента. Если переданный аргумент - 0, Math.sign() вернет 0.

console.log(Math.sign(6)); // 1
console.log(Math.sign(-4)); // -1
console.log(Math.sign(0)); // 0

Math.sqrt ()

Последняя функция Math, которую я буду обсуждать, - это Math.sqrt(). Math.sqrt(), как следует из названия, возвращает квадратный корень из переданного аргумента. Если аргумент не является положительным целым числом (т. Е. string или отрицательным числом), будет возвращено NaN.

Math.sqrt(16); // 4
Math.sqrt(9); // 3
Math.sqrt(0); // 0
Math.sqrt(-3); // NaN

Вывод

Встроенный JavaScript Math object имеет несколько свойств и методов для обработки любого количества математических задач. Некоторые из наиболее распространенных применений Math include: генерация случайных чисел, округление чисел с плавающей запятой до целых чисел и поиск квадратного корня числа. Если ваш проект требует манипулирования целыми числами или математическими уравнениями, то изучение Math документации - отличное место для начала.