使用取模运算符
取模运算符
(
%
)返回
除法运算的余数
。基于此,我们可以通过将一个数字除以
2
并检查余数来判断它是偶数还是奇数。如果余数为
0
,则数字是偶数,否则是奇数。
const isEven = num => num % 2 === 0;
const isOdd = num => num % 2 === 1;
isEven(3); // false
isOdd(3); // true
使用按位与运算符
按位与运算符(&
)如果两个位都是1
,则返回1
,否则返回0
。偶数的二进制表示总是以0
结尾,而奇数的二进制表示总是以1
结尾。因此,将一个数字与1
应用按位与运算符将对偶数返回0
,对奇数返回1
。为了将此结果转换为布尔值,我们可以使用Boolean()
函数。
const isEven = num => !Boolean(num & 1);
const isOdd = num => Boolean(num & 1);
isEven(3); // false
isOdd(3); // true
虽然这两种方法都可以工作,但取模运算符更易读,应优先使用。
除了这两种方法之外,还可以使用其他位运算符,比如位异或运算符(^
),来判断一个数是偶数还是奇数。