isBetween()

Определить, находится ли число x между a и b. Заранее неизвестно, какое из чисел a или b больше. Если x попадает на границу, возвращать можно любой результат (типа boolean).

by l_gordienkova

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/mocha/2.4.5/mocha.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/3.5.0/chai.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mocha/2.4.5/mocha.min.css">
<div id="mocha">
</div>
<script>
  mocha.setup('bdd');
  var assert = chai.assert;
  var expect = chai.expect;
</script>
<script>

  describe("isBetween", function() {
    before(function () {
      chai.config.includeStack = false;
    });
    it("a < b, между", function() {
      assert.equal(true, isBetween(3, 6, 5.1));
    });
    it("a < b, выше", function() {
      assert.equal(false, isBetween(-3.1, 2.7, 5.1));
    });
    it("a < b, ниже", function() {
      assert.equal(false, isBetween(-3.1, 2.7, -4));
    });
    it("a > b, между", function() {
      assert.equal(true, isBetween(6, 3, 5.1));
    });
    it("a > b, выше", function() {
      assert.equal(false, isBetween(3.1, -2.7, 5.1));
    });
    it("a > b, ниже", function() {
      assert.equal(false, isBetween(3.1, -2.7, -4));
    });
  });
  mocha.run();
</script>

JavaScript

function isBetween(a, b, x){
	if ( x >= Math.min(a,b) && x <= Math.max(a,b) )
	return true;
  else return false; 
}