Нужна помощь в написании метода parseInt на чистом JavaScript

Имеется строковое (текстовое) представление числа. Нужно реализовать функцию по конвертированию строкового представления числа, нельзя использовать библиотечные функции такие parseInt и д.р.

У нас имеется функция: charToNumber(char: string) : number

Функция принимает на вход один символ с цифрой и возвращает ее числовое значение.

Например:

charToNumber(“2”) => 2 
charToNumber(“F”) => 15
// (F - цифра в шестнадцатеричной системе)

С ее использованием реализовать функцию по конвертированию строкового представления числа. Можно использовать любые операторы (циклы, арифметические операции), нельзя - библиотечные функции.

function convertStringToNumber(stringNumber: string, base: number) : number
{

}

stringNumber - строковое представление числа

base - количество цифр системе счисления, в котором представлено stringNumber.

Примеры того что должно получится на выходе:

convertStringToNumber(“1111”, 2) -> 15
convertStringToNumber(“17”, 8) -> 15
convertStringToNumber(“123”, 10) -> 123
convertStringToNumber(“FF”, 16) -> 255

Ответы (1 шт):

Автор решения: Grundy

Перевод в данном случае достаточно прост

  1. нужно бежать по строке
  2. значение на предыдущем шаге умножить на основание
  3. прибавить значение текущего символа

Выглядеть это может так:

stringNumber.split('').reduce((acc, cur)=>acc*base + charToNumber(cur), 0);
→ Ссылка