返回一個十進位制數,其二進位制形式中僅在 JavaScript 陣列指定的索引處存在 1


問題

我們需要編寫一個 JavaScript 函式,該函式接受一個非負整數的唯一陣列。我們的函式應返回一個 32 位整數,使得該整數在其二進位制表示中僅在特定索引處(從右開始計數)具有 1,該特定索引在序列中。

示例

以下為程式碼-

 即時演示

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

更新於: 20-4-2021

71 次瀏覽

開啟您的 職業之旅

完成課程獲得認證

開始
廣告
© . All rights reserved.