使用 JavaScript 时整数的位是否交替?
javascriptweb developmentfront end technology
问题
我们需要编写一个 JavaScript 函数,该函数将整数 num 作为第一个也是唯一的参数。
我们的函数应该检查 num 的二进制表示是否具有交替的位 − ,即两个相邻的位是否始终具有不同的值。
例如,如果函数的输入是
输入
const num = 5;
输出
const output = true;
输出说明
因为 5 的二进制形式是 101,具有交替的位。
示例
以下是代码 −
const num = 5; const isAlternating = (num = 1) => { const binary = num.toString(2); let curr = binary[0]; for(let i = 1; i < binary.length; i++){ const el = binary[i]; if(curr !== el){ curr = el; continue; }; return false; }; return true; }; console.log(isAlternating(num));
输出
true