Computer >> Máy Tính >  >> Lập trình >> Javascript

Trả về số thập phân có 1s ở dạng nhị phân chỉ tại các chỉ số được chỉ định bởi mảng trong JavaScript

Vấn đề

Chúng tôi được yêu cầu 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 của chúng ta sẽ trả về một số nguyên 32 bit sao cho số nguyên, trong biểu diễn nhị phân của nó, chỉ có 1 ở các chỉ mục đó (được tính từ bên phải) trong chuỗi.

Ví dụ

Sau đâ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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

14