ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน 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