Saya punya waktu, jadi, meskipun Anda sudah menerima jawaban, saya pikir saya akan berkontribusi sebagai berikut:
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));
Demo JS Fiddle .
Atau, jika Anda lebih suka memiliki opsi untuk memeriksa nomor dalam kisaran yang ditentukan termasuk titik akhir :
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));
Demo JS Fiddle .
Diedit untuk menambahkan amandemen kecil ke atas, mengingat bahwa - sebagaimana tercantum dalam komentar -
... Function.prototype.apply()lambat! Selain menyebutnya ketika Anda memiliki jumlah argumen tetap tidak ada gunanya ...
itu layak menghapus penggunaan Function.prototype.apply(), yang menghasilkan versi yang diubah dari metode di atas, pertama tanpa opsi 'inklusif':
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));
Demo JS Fiddle .
Dan dengan opsi 'inklusif':
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));
Demo JS Fiddle .
Referensi: