返回一个十进制数,其二进制形式中仅在 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
广告