数値の偶数判定
数値が偶数のときにtrue
を返します。
const isEven = num => !(num & 1);
const numbers = [-10, -7, -4, 0, 1, 7, 12, 24];
numbers.forEach( number => {
console.log(`${number}: `, isEven(number));
});
// -10: true
// -7: false
// -4: true
// 0: true
// 1: false
// 7: false
// 12: true
// 24: true
数値の奇数判定
数値が奇数のときにtrue
を返します。
const isOdd = num => !!(num & 1);
const numbers = [-10, -7, -4, 0, 1, 7, 12, 24];
numbers.forEach( number => {
console.log(`${number}: `, isOdd(number));
});
// -10: false
// -7: true
// -4: false
// 0: false
// 1: true
// 7: true
// 12: false
// 24: false
数値の正数判定
数値が正数のときにtrue
を返し、0
はfalse
となります。
const isPositive = num => Math.sign(num) === 1;
const numbers = [-10, -7, -4, 0, 1, 7, 12, 24];
numbers.forEach( number => {
console.log(`${number}: `, isPositive(number));
});
// -10: false
// -7: false
// -4: false
// 0: false
// 1: true
// 7: true
// 12: true
// 24: true
数値の負数判定
数値が負数のときにtrue
を返し、正数判定と同じく0
はfalse
となります。
const isNegative = num => Math.sign(num) === -1;
const numbers = [-10, -7, -4, 0, 1, 7, 12, 24];
numbers.forEach( number => {
console.log(`${number}: `, isNegative(number));
});
// -10: true
// -7: true
// -4: true
// 0: false
// 1: false
// 7: false
// 12: false
// 24: false
数値の範囲内存在を判定
第1・第2引数で指定した数値の間に、第3引数で指定した数値が存在しているときにtrue
を返します。
使用する際は、例えば第1引数に最小値・第2引数に最大値のようにある程度は自然と統一して指定すると思いますが、Math.min()
とMath.max()
を使うことで下記サンプルのように第1・第2引数の数値は大小の縛りなく指定できます。
const inRange = (a, b, num) => (Math.min(a, b) <= num && num < Math.max(a, b));
inRange(10, 20, 15); // true
inRange(20, 10, 15); // true
inRange(10, 20, 30); // false
inRange(10, 20, -5); // false
inRange(-10, -20, -15); // true
inRange(-20, -10, -15); // true
inRange(-10, 20, 30); // false
inRange(-10, 20, 5); // true