IT story

숫자가 두 값 사이에 있는지 확인하는 방법은 무엇입니까?

hot-time 2020. 7. 12. 09:32
반응형

숫자가 두 값 사이에 있는지 확인하는 방법은 무엇입니까?


JavaScript에서는 창 크기가 500px보다 큰 경우 브라우저가 무언가를 수행하도록 지시합니다. 나는 그렇게한다 :

if (windowsize > 500) {
    // do this
}

이것은 훌륭하게 작동하지만이 동일한 방법을 적용하고 싶지만 범위가 다릅니다. 따라서 창 크기가 500px에서 600px 사이이면 브라우저에 작업을 수행하고 싶습니다. 나는 이것이 효과가 없다는 것을 알고 있지만 여기에 내가 상상 한 방법이 있습니다.

if (windowsize > 500-600) {
    // do this
}

JavaScript 내에서도 가능합니까?


이나 그 자체가 조건을 만족 시키지 않을 것이라는 의미 windowsize보다 크 500거나 작은 지 테스트합니다 .600500600

if (windowsize > 500 && windowsize < 600) {
  // ...
}

나는 잠시 시간을 보냈으므로 이미 답변을 수락했지만 다음을 기여할 것이라고 생각했습니다.

Number.prototype.between = function(a, b) {
  var min = Math.min.apply(Math, [a, b]),
    max = Math.max.apply(Math, [a, b]);
  return this > min && this < max;
};

var windowSize = 550;

console.log(windowSize.between(500, 600));

JS 피들 데모 .

또는 숫자를 확인하는 옵션 이 종료점을 포함하여 정의 된 범위 내에 있는지 확인하려면 다음을 수행하십시오 .

Number.prototype.between = function(a, b, inclusive) {
  var min = Math.min.apply(Math, [a, b]),
    max = Math.max.apply(Math, [a, b]);
  return inclusive ? this >= min && this <= max : this > min && this < max;
};

var windowSize = 500;

console.log(windowSize.between(500, 603, true));

JS 피들 데모 .

의견에 명시된 바와 같이 위의 내용에 대해 약간의 수정 사항을 추가하도록 수정되었습니다.

Function.prototype.apply()느리다! 고정 된 양의 인수가있을 때 호출하는 것 외에도 의미가 없습니다…

의 사용을 제거 할 가치가 있었으며 Function.prototype.apply(), 이는 먼저 '포함'옵션없이 위의 메소드의 수정 된 버전을 생성합니다.

Number.prototype.between = function(a, b) {
  var min = Math.min(a, b),
    max = Math.max(a, b);

  return this > min && this < max;
};

var windowSize = 550;

console.log(windowSize.between(500, 600));

JS 피들 데모 .

그리고 '포괄적'옵션으로 :

Number.prototype.between = function(a, b, inclusive) {
  var min = Math.min(a, b),
    max = Math.max(a, b);

  return inclusive ? this >= min && this <= max : this > min && this < max;
}

var windowSize = 500;

console.log(windowSize.between(500, 603, true));

JS 피들 데모 .

참고 문헌 :


코드가 내 변수의 유효성을 검사하고 범위 값 사이에 있다는 추가 힌트를 제공하기 위해 변수를 내부에 배치하는 것을 선호합니다.

if (500 < size && size < 600) { doStuff(); }

그것은 오래된 질문이지만 나와 같은 누군가에게 유용 할 수 있습니다.

lodash has _.inRange() function https://lodash.com/docs/4.17.4#inRange

Example:

_.inRange(3, 2, 4);
// => true

Please note that this method utilizes the Lodash utility library, and requires access to an installed version of Lodash.


I just implemented this bit of jQuery to show and hide bootstrap modal values. Different fields are displayed based on the value range of a users textbox entry.

$(document).ready(function () {
    jQuery.noConflict();
    var Ammount = document.getElementById('Ammount');

    $("#addtocart").click(function () {

            if ($(Ammount).val() >= 250 && $(Ammount).val() <= 499) {
                {
                    $('#myModal').modal();
                    $("#myModalLabelbronze").show();
                    $("#myModalLabelsilver").hide();
                    $("#myModalLabelgold").hide();
                    $("#myModalPbronze").show();
                    $("#myModalPSilver").hide();
                    $("#myModalPGold").hide();
                }
            }
    });

참고URL : https://stackoverflow.com/questions/14718561/how-to-check-if-a-number-is-between-two-values

반응형