Verify that the value is contained in the Range Jquery / Javascript

2

How to check if the value 15 is within the range?

var range = [10, 50];

var valor = 15
    
asked by anonymous 07.06.2018 / 16:22

3 answers

5

The variable range is not a array , it is an array with two values.

Therefore, it is only necessary to make a common comparison operation.

To include the endpoints use >= and <= , otherwise use < and > .

var range = [10, 50];
var valor = 15;

if(valor >= range[0] && valor <= range[1]) {
  console.log('está dentro do range');
}
    
07.06.2018 / 16:28
2

Another way is with the expression:

(valor-range[0])*(valor-range[1]) <= 0
          ↓                ↓
       1º valor         2º valor
       da array         da array

It would be:

(15-10) * (15-50) <= 0
5 * -35 <= 0
-175 <= 0 // verdadeiro, está no range
  

If the result of the expression is equal to or less than zero , it is in the   range.

Testing:

var range  = [10, 50];
var valor  = 15;

var valor2 = 9;
var valor3 = 51

if( (valor-range[0])*(valor-range[1]) <= 0 ){
  console.log(valor+' está dentro do range');
}else{
  console.log(valor+' não está dentro do range');
}

if( (valor2-range[0])*(valor2-range[1]) <= 0 ){
  console.log(valor2+' está dentro do range');
}else{
  console.log(valor2+' não está dentro do range');
}

if( (valor3-range[0])*(valor3-range[1]) <= 0 ){
  console.log(valor3+' está dentro do range');
}else{
  console.log(valor3+' não está dentro do range');
}
    
07.06.2018 / 16:56
1

//Range
var range = [10, 50];

//Range invertido - para teste
//var range = [1000, 50];

//Valores para teste
var valor1 = 15;
var valor2 = 150;

//Limites
var menor = range[0];
var maior = range[1];

//Teste de range invertido!
//Caso os números estejam invertidos - não formando range
if(menor>maior){
  menor = range[1];
  maior = range[0];
}

//Testes

//Teste 1
document.getElementById('resposta1').innerHTML = //Insere a resposta no DIV1
  valor1 + ": "
  + (valor1>=menor && valor1<=maior?'Sim!':'Não!'); //Teste com if ternário - comparação dos limites com o valor 1

//Teste 2
document.getElementById('resposta2').innerHTML = //Insere a resposta no DIV2
  valor2 + ": "
  + (valor2>=menor && valor2<=maior?'Sim!':'Não!'); //Teste com if ternário - comparação dos limites com o valor 2
<div id="resposta1">-</div>
<div id="resposta2">-</div>
    
07.06.2018 / 16:31