在 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
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

