/js-tasks

Primary LanguageJavaScript

js-tasks

Tasks:

flat(array)

Написать приложение, получающее массив с вложенными массивами и возвращающее его “плоскую” версию. Встроенный метод массивов flat использовать нельзя.

numToWord(num)

Требуется создать функцию, получающую на вход число от 0 до 100 000 и показывающее его текстовый эквивалент.

pow(num, exp)

Написать рекурсивную функцию возведения в степень. На вход принимать число и его степень, на выходе выдавать рассчитанное значение.

createObj(array)

Написать функцию которая преобразует массив users в объект типа { "1" : { id: 1, name: "Alex", cars: [ 1, 2, 3 ] }.

То есть у нас должен быть объект:

  • ключами которого является id юзера;
  • массив cars внутри каждого юзера нужно заполнить id данных авто вместо названия;
  • важно чтобы оригинальный объект юзера был не изменен.

deepClone(data)

Написать рекурсивную функцию, которая как аргумент принимает объект (любой сложности и вложенности) или массив (любой сложности и вложенности) или примитив. Функция должна вернуть то же самое что приняла аргументом, но обновив все ссылки на всех уровнях (все ссылки на объекты или массивы должны быть новые). Функция не должна использовать хак с JSON.parse(JSON.stringify(data)).