Javascript мин макс - PullRequest
       7

Javascript мин макс

6 голосов
/ 05 ноября 2011

В PHP вы можете использовать это для сохранения числа между 2 значениями, минимальным и максимальным:

$n = min(max($n, 1), 20);

, поэтому, если $ n больше 20, он примет значение20. Если он меньше 1, он примет значение 1. В противном случае он не изменится

Как я могу сделать это в javascript / jQuery?

Ответы [ 4 ]

12 голосов
/ 05 ноября 2011

Это почти то же самое в JavaScript, только min и max являются членами Math объекта:

var n = Math.min(Math.max(n, 1), 20);
6 голосов
/ 05 ноября 2011

JavaScript имеет Math.min [MDN] и Math.max [MDN] .

В качестве альтернативы вы можете использовать условный оператор:

n = n > 20 ? 20 : (n < 1 ? 1 : n)
4 голосов
/ 05 ноября 2011

Вы можете сделать это с минимальным и максимальным, но я думаю, что if понятнее.

if (x > 20) x = 20;
if (x < 1) x = 1;
1 голос
/ 29 мая 2013

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

var value1 = 5;
var value2 = 25;
var value3 = -3;

var arr = [];
arr.push(value1);
arr.push(value2);
arr.push(value3);

var maxValue = Math.max.apply(null, arr);
var minValue = Math.min.apply(null, arr);

alert(maxValue);// ==25
alert(minValue);// ==-3

или эквивалентно

var value1 = 5;
var value2 = 25;
var value3 = -3;

var maxValue = Math.max.apply(null, [value1, value2, value3]);
var minValue = Math.min.apply(null, [value1, value2, value3]);

alert(maxValue);// ==25
alert(minValue);// ==-3
...