以 JS 为例,目前想到的有以下几种:
return !(num % 2)
return /^\d*[24680]$/.test(num) // 或者 !/^\d*\.5$/.test(num/2)
return !(num & 1) // 或者 ~num & 1
return num >> 1 << 1 == num
还有什么骚操作?
递归写法:
function isEven(n) { return n == 0 ? true : (n == 1 ? false: isEven(Math.abs(n - 2))); }
异或写法:
return (n ^ 1) == n + 1;
![]() | 1 shintendo 2020-09-14 11:04:24 +08:00 ![]() npm install is-even |
![]() | 2 BingoXuan 2020-09-14 11:08:13 +08:00 好像直接看二进制的话,1 的 bit 必定为 1 |
![]() | 6 pushback 2020-09-14 16:09:49 +08:00 温两碗酒,要一碟茴香豆! |
7 ipengxh OP 又想起来了 |