Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การแปลงอาร์เรย์ไบนารีเป็นเลขฐานสิบใน JavaScript


ปัญหา

เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ไบนารี (ประกอบด้วย 0 และ 1 เท่านั้น) ฟังก์ชันควรนำบิตทั้งหมดในอาร์เรย์มาต่อกัน แล้วคืนค่าตัวเลขฐานสิบที่ตรงกับไบนารีนั้น

ตัวอย่าง

โค้ดตัวอย่างดังนี้:

const arr = [1, 0, 1, 1];
const binaryArrayToNumber = arr => {
  let num = 0;
  for (let i = 0, exponent = 3; i < arr.length; i++) {
    if (arr[i]) {
      num += Math.pow(2, exponent);
    };
    exponent--;
  };
  return num;
};
console.log(binaryArrayToNumber(arr));

ผลลัพธ์

11