Hướng dẫn how do you check if a value is within a range in javascript? - làm cách nào để kiểm tra xem giá trị có nằm trong phạm vi trong javascript không?

Tôi muốn kiểm tra xem một giá trị có nằm trong phạm vi được chấp nhận không. Nếu có, để làm điều gì đó; Nếu không, một cái gì đó khác.

Phạm vi là

function between(x, min, max) {
  return x >= min && x <= max;
}
// ...
if (between(x, 0.001, 0.009)) {
  // something
}
0. Tôi biết cách sử dụng nhiều
function between(x, min, max) {
  return x >= min && x <= max;
}
// ...
if (between(x, 0.001, 0.009)) {
  // something
}
1 để kiểm tra điều này, nhưng tôi muốn biết liệu có cách nào để kiểm tra nó trong một câu lệnh
function between(x, min, max) {
  return x >= min && x <= max;
}
// ...
if (between(x, 0.001, 0.009)) {
  // something
}
1 hay không.

Hướng dẫn how do you check if a value is within a range in javascript? - làm cách nào để kiểm tra xem giá trị có nằm trong phạm vi trong javascript không?

Đã hỏi ngày 23 tháng 6 năm 2011 lúc 12:44Jun 23, 2011 at 12:44

1

Bạn đang hỏi một câu hỏi về so sánh số, vì vậy các biểu thức thường xuyên thực sự không liên quan gì đến vấn đề này. Bạn cũng không cần câu lệnh "Nhiều

function between(x, min, max) {
  return x >= min && x <= max;
}
// ...
if (between(x, 0.001, 0.009)) {
  // something
}
1" để thực hiện điều đó:

if (x >= 0.001 && x <= 0.009) {
  // something
}

Bạn có thể viết cho mình một hàm "giữa ()":

function between(x, min, max) {
  return x >= min && x <= max;
}
// ...
if (between(x, 0.001, 0.009)) {
  // something
}

Đã trả lời ngày 23 tháng 6 năm 2011 lúc 12:47Jun 23, 2011 at 12:47

POINTYPOODTYPointy

396K59 Huy hiệu vàng577 Huy hiệu bạc607 Huy hiệu Đồng59 gold badges577 silver badges607 bronze badges

3

Đây là một tùy chọn chỉ với một so sánh duy nhất.

// return true if in range, otherwise false
function inRange(x, min, max) {
    return ((x-min)*(x-max) <= 0);
}

console.log(inRange(5, 1, 10));     // true
console.log(inRange(-5, 1, 10));    // false
console.log(inRange(20, 1, 10));    // false

Đã trả lời ngày 9 tháng 4 năm 2018 lúc 2:51Apr 9, 2018 at 2:51

AlexanderalexanderAlexander

3,8951 Huy hiệu vàng11 Huy hiệu bạc16 Huy hiệu đồng1 gold badge11 silver badges16 bronze badges

4

Nếu bạn phải sử dụng regexp (và thực sự, bạn không nên!) Điều này sẽ hoạt động:

/^0\.00([1-8]\d*|90*)$/

nên làm việc, tức là

  • function between(x, min, max) {
      return x >= min && x <= max;
    }
    // ...
    if (between(x, 0.001, 0.009)) {
      // something
    }
    
    4 Không có gì trước đây,
  • tiếp theo là
    function between(x, min, max) {
      return x >= min && x <= max;
    }
    // ...
    if (between(x, 0.001, 0.009)) {
      // something
    }
    
    5 (NB: Backslash Escape cho ký tự
    function between(x, min, max) {
      return x >= min && x <= max;
    }
    // ...
    if (between(x, 0.001, 0.009)) {
      // something
    }
    
    6)
  • theo sau là 1 đến 8 và bất kỳ số chữ số bổ sung nào
  • hoặc 9, tiếp theo là bất kỳ số lượng 0
  • function between(x, min, max) {
      return x >= min && x <= max;
    }
    // ...
    if (between(x, 0.001, 0.009)) {
      // something
    }
    
    7: Tiếp theo là không có gì khác

Hướng dẫn how do you check if a value is within a range in javascript? - làm cách nào để kiểm tra xem giá trị có nằm trong phạm vi trong javascript không?

Đã trả lời ngày 23 tháng 6 năm 2011 lúc 12:55Jun 23, 2011 at 12:55

AlnitakalnitakAlnitak

330K70 Huy hiệu vàng404 Huy hiệu bạc487 Huy hiệu đồng70 gold badges404 silver badges487 bronze badges

Nếu bạn đã sử dụng

function between(x, min, max) {
  return x >= min && x <= max;
}
// ...
if (between(x, 0.001, 0.009)) {
  // something
}
8, bạn có thể sử dụng hàm
function between(x, min, max) {
  return x >= min && x <= max;
}
// ...
if (between(x, 0.001, 0.009)) {
  // something
}
9: https://lodash.com/docs/4.17.15#inrange

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

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

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

_.inRange(2, 2);
// => false

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

_.inRange(5.2, 4);
// => false

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

Đã trả lời ngày 17 tháng 2 năm 2020 lúc 19:44Feb 17, 2020 at 19:44

Haroldo_OKHaroldo_OKHaroldo_OK

6.2753 huy hiệu vàng40 Huy hiệu bạc79 Huy hiệu đồng3 gold badges40 silver badges79 bronze badges

Tôi thích chức năng

// return true if in range, otherwise false
function inRange(x, min, max) {
    return ((x-min)*(x-max) <= 0);
}

console.log(inRange(5, 1, 10));     // true
console.log(inRange(-5, 1, 10));    // false
console.log(inRange(20, 1, 10));    // false
0 của Pointy vì vậy tôi đã viết một loại tương tự hoạt động tốt cho kịch bản của tôi.

/**
 * Checks if an integer is within ±x another integer.
 * @param {int} op - The integer in question
 * @param {int} target - The integer to compare to
 * @param {int} range - the range ±
 */
function nearInt(op, target, range) {
    return op < target + range && op > target - range;
}

Vì vậy, nếu bạn muốn xem

// return true if in range, otherwise false
function inRange(x, min, max) {
    return ((x-min)*(x-max) <= 0);
}

console.log(inRange(5, 1, 10));     // true
console.log(inRange(-5, 1, 10));    // false
console.log(inRange(20, 1, 10));    // false
1 có nằm trong phạm vi ± 10 của
// return true if in range, otherwise false
function inRange(x, min, max) {
    return ((x-min)*(x-max) <= 0);
}

console.log(inRange(5, 1, 10));     // true
console.log(inRange(-5, 1, 10));    // false
console.log(inRange(20, 1, 10));    // false
2:

var x = 100;
var y = 115;
nearInt(x,y,10) = false

Tôi đang sử dụng nó để phát hiện áp suất từ ​​lâu trên thiết bị di động:

//make sure they haven't moved too much during long press.
if (!nearInt(Last.x,Start.x,5) || !nearInt(Last.y, Start.y,5)) clearTimeout(t);

Đã trả lời ngày 7 tháng 6 năm 2017 lúc 15:14Jun 7, 2017 at 15:14

Hướng dẫn how do you check if a value is within a range in javascript? - làm cách nào để kiểm tra xem giá trị có nằm trong phạm vi trong javascript không?

Joatmonthe JoatmonTHE JOATMON

17.1K35 Huy hiệu vàng112 Huy hiệu bạc205 Huy hiệu đồng35 gold badges112 silver badges205 bronze badges

Nếu bạn muốn mã của mình chọn một phạm vi chữ số cụ thể, hãy chắc chắn sử dụng toán tử

// return true if in range, otherwise false
function inRange(x, min, max) {
    return ((x-min)*(x-max) <= 0);
}

console.log(inRange(5, 1, 10));     // true
console.log(inRange(-5, 1, 10));    // false
console.log(inRange(20, 1, 10));    // false
3 thay vì
// return true if in range, otherwise false
function inRange(x, min, max) {
    return ((x-min)*(x-max) <= 0);
}

console.log(inRange(5, 1, 10));     // true
console.log(inRange(-5, 1, 10));    // false
console.log(inRange(20, 1, 10));    // false
4.

if (x >= 4 && x <= 9) {
  // do something
} else {
  // do something else
}

// be sure not to do this

if (x >= 4 || x <= 9) {
  // do something
} else {
  // do something else
}

Đã trả lời ngày 13 tháng 5 năm 2018 lúc 20:00May 13, 2018 at 20:00

Bạn phải muốn xác định giới hạn dưới và trên trước khi viết điều kiện

function between(value,first,last) {

 let lower = Math.min(first,last) , upper = Math.max(first,last);
 return value >= lower &&  value <= upper ;

}

Đã trả lời ngày 25 tháng 9 năm 2019 lúc 13:58Sep 25, 2019 at 13:58

Hướng dẫn how do you check if a value is within a range in javascript? - làm cách nào để kiểm tra xem giá trị có nằm trong phạm vi trong javascript không?

De Bonheurde BonheurDe Bonheur

6187 Huy hiệu bạc12 Huy hiệu Đồng7 silver badges12 bronze badges

// return true if in range, otherwise false
function inRange(x, min, max) {
    return ((x-min)*(x-max) <= 0);
}

console.log(inRange(5, 1, 10));     // true
console.log(inRange(-5, 1, 10));    // false
console.log(inRange(20, 1, 10));    // false
5

Có thể như thế này nếu bạn muốn tạo ra Inrange bao gồm và không phụ thuộc vào thứ tự của các số phạm vi (NUM1, NUM2).

Đã trả lời ngày 30 tháng 3 lúc 12:34Mar 30 at 12:34