Cho mảng chứa 0 và 1, viết hàm mảng toBinary() trả về số nguyên tương ứng.
Ví dụ: [1, 0, 1, 1] → 11 (vì nhị phân 1011 = 11 thập phân).
Phương pháp 1: Dùng phương thức thư viện
Dùng parseInt() với cơ số 2:
const arr = [1, 0, 1, 1];const parseArray = arr => { const binaryString = arr.join(''); return parseInt(binaryString, 2);};console.log(parseArray(arr));Phương pháp 2: Giảm mảng (Reduce)
Dùng toán tử dịch trái (<<) và OR bitwise (|):
Ví dụ
const arr = [1, 0, 1, 1];const parseArray = arr => { return arr.reduce((acc, val) => { return (acc << 1) | val; });};console.log(parseArray(arr));Kết quả
Đầu ra trong console sẽ là:
11