Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Trả về số thập phân có bit 1 chỉ tại các chỉ số do mảng chỉ định bằng JavaScript


Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một mảng các số nguyên không âm duy nhất. Hàm phải trả về một số nguyên 32-bit sao cho số nguyên đó, trong biểu diễn nhị phân, có bit 1 chỉ tại các chỉ số (đếm từ phải) có trong mảng.

Ví dụ

Dưới đây là mã:

const arr = [1, 2, 0, 4]; 
const buildDecimal = (arr = []) => { 
  const bitArr = Array(31).fill(0); 
  let res = 0; 
  arr.forEach(el => { 
    bitArr.splice((31 - el), 1, 1); 
  }) 
  bitArr.forEach((bit, index) => { 
    res += (2 * (31-index) * bit); 
  }); 
  return res; 
}; 
console.log(buildDecimal(arr));

Kết quả

Kết quả console:

14