在 JavaScript 中将二进制数数组转换为相应的整数

javascriptweb developmentobject oriented programming更新于 2025/10/13 3:56:17

假设我们有一个包含 0 和 1 − 的数字数组

const arr = [0, 1, 0, 1];

我们需要编写一个数组函数 toBinary(),它返回与其一起使用的数组对应的二进制数。

例如 − 如果数组是 −

const arr = [1, 0, 1, 1];

然后输出应该是 11,因为二进制 1011 的十进制表示是 11。

因此,让我们为这个函数编写代码。

方法 1:使用库方法

在 JavaScript 中,存在一个方法 parseInt(),它接受两个参数,第一个是字符串,第二个是代表特定基数的数字,例如十进制基数为 10,二进制为 2。此函数解析字符串参数并返回指定基数(基数)的整数。

在我们的例子中,要将二进制数组转换为十进制,我们可以使用 parseInt() 函数,如下所示 −

const arr = [1, 0, 1, 1];
const parseArray = arr => {
   const binaryString = arr.join("");
   return parseInt(binaryString, 2);
};
console.log(parseArray(arr));

方法 2:减少数组

在此方法中,我们遍历二进制数组并根据相应的二进制数构造一个十进制数。我们将使用左移运算符 (<<) 每次将累积值向左移动一位,并返回移位后的累积值和当前值的按位或 (|)。

使用按位运算符的代码 −

示例

const arr = [1, 0, 1, 1];
const parseArray = arr => {
   return arr.reduce((acc, val) => {
      return (acc << 1) | val;
   });
};
console.log(parseArray(arr));

输出

控制台中的输出将是 −

11

相关文章


有用资源