Функция binaryArrayToNumber

Функция binaryArrayToNumber


Ответ:

const binaryArrayToNumber = (arr) => {
    return arr.reduce((acc, cur, i) => {
        return acc + cur * Math.pow(2, arr.length - i - 1);
    }, 0);
};

Объяснение:

В ответе используется стандартный алгоритм преобразования двоичного числа в десятичное. В методе reduce мы постепенно умножаем каждое число на 2 в степени длинна массива минус 1 и минус индекс элемента (получается такая обратная индексация) и складываем с остальными.

Код для проверки:

const binaryArrayToNumber = (arr) => {
    return arr.reduce((acc, cur, i) => {
        return acc + cur * Math.pow(2, arr.length - i - 1);
    }, 0);
};

console.log(binaryArrayToNumber([0, 0, 0, 1])); // 1
console.log(binaryArrayToNumber([0, 0, 1, 0])); // 2
console.log(binaryArrayToNumber([1, 1, 1, 1])); // 15
console.log(binaryArrayToNumber([0, 1, 1, 0])); // 6


Report Page