仅在 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