使用 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

相关文章