在 JavaScript 中將二進位制陣列轉換為對應的整數
假設我們有一個包含 0 和 1 的數字陣列:
const arr = [0, 1, 0, 1];
我們需要編寫一個數組函式 `toBinary()`,它返回與其一起使用的陣列對應的二進位制數。
例如:
const arr = [1, 0, 1, 1];
則輸出應為 11,因為二進位制 1011 的十進位制表示為 11。
因此,讓我們編寫此函式的程式碼。
方法一:使用庫方法
在 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));方法二:陣列化簡
在這種方法中,我們迭代二進位制陣列並根據相應的二進位制數構造十進位制數。我們將使用左移運算子 (<<) 將累積值每次左移一位,並返回移位的累積值和當前值的按位或 (|)。
使用位運算子的程式碼:
示例
const arr = [1, 0, 1, 1];
const parseArray = arr => {
return arr.reduce((acc, val) => {
return (acc << 1) | val;
});
};
console.log(parseArray(arr));輸出
控制檯中的輸出將是:
11
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP