Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 배열로 지정된 인덱스에서만 이진 형식으로 1이 있는 10진수 반환

<시간/>

문제

음수가 아닌 고유한 정수 배열을 취하는 JavaScript 함수를 작성해야 합니다. 우리의 함수는 이진 표현에서 정수가 시퀀스에 있는 인덱스(오른쪽부터 계산)에서만 1을 갖도록 32비트 정수를 반환해야 합니다.

예시

다음은 코드입니다 -

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));

출력

다음은 콘솔 출력입니다 -

14