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
документации - отличное место для начала.