位是否使用 JavaScript 在整数中交替?

问题

我们需要编写一个 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