반응형
최소 / 최대 값 사이의 숫자를 제한하기 위해 JavaScript를 어떻게 사용할 수 있습니까?
두 값 사이의 숫자를 제한하고 싶습니다. PHP에서 다음과 같이 할 수 있습니다.
$number = min(max(intval($number), 1), 20);
// this will make $number 1 if it's lower than 1, and 20 if it's higher than 20
여러 if문장 을 작성하지 않고도 자바 스크립트에서 어떻게 할 수 있습니까? 감사.
이렇게
var number = Math.min(Math.max(parseInt(number), 1), 20);
최소한 두 가지 옵션이 있습니다.
한 쌍의 조건부 연산자 ( ? :)를 사용할 수 있습니다 .
number = number > 100 ? 100 : number < 0 ? 0 : number;
또는 다음 Math.max과 Math.min같이 결합 할 수 있습니다 .
number = Math.min(100, Math.max(0, number));
두 경우 모두 자신을 혼동하기가 비교적 쉽기 때문에 여러 곳에서이 작업을 수행하는 경우 유틸리티 기능을 고려할 수 있습니다.
function clamp(val, min, max) {
return val > max ? max : val < min ? min : val;
}
그때:
number = clamp(number, 0, 100);
lodash의 클램프 방법 사용 :
_.clamp(22, 1, 20) // Outputs 20
추가 설명이 필요하지 않습니다.
function clamp(value, min, max) {
return Math.min(Math.max(value, min), max);
}
사용 Math.min하고 Math.max.
관련성 : 숫자를 세그먼트로 제한하는 가장 우아한 방법은 무엇입니까? :
ECMAScript 2017 업데이트 :
Math.clamp(x, lower, upper)
반응형
'Program Club' 카테고리의 다른 글
| Spring MVC에서 BindingResult 인터페이스의 사용은 무엇입니까? (0) | 2020.12.30 |
|---|---|
| Jquery Autocomplete 필드에 추가 매개 변수를 어떻게 전달합니까? (0) | 2020.12.29 |
| col.names없이 CSV 내보내기 (0) | 2020.12.29 |
| Maven의 기본 빌드 프로필 (0) | 2020.12.29 |
| Jarsigner는 어디에 있습니까? (0) | 2020.12.29 |