Создание копии массива с удвоенными элементами через reduce

В reduce добавляйте в аккумулятор удвоенное значение каждого элемента и возвращайте аккумулятор. Начальный пустой массив создаёт независимый результат.

Короткий ответ

Что ответить на собеседовании

В reduce добавляйте в аккумулятор удвоенное значение каждого элемента и возвращайте аккумулятор. Начальный пустой массив создаёт независимый результат.

Подробный разбор

Ответ с пояснениями

Условие

Необходимо использовать метод reduce, чтобы сформировать новую копию заданного числового массива, при этом каждый элемент в новой коллекции должен быть умножен на 2. При этом исходный массив остаётся без изменений.

Ответ

В reduce добавляйте в аккумулятор удвоенное значение каждого элемента и возвращайте аккумулятор. Начальный пустой массив создаёт независимый результат.

function doubleValues(numbers) {
  return numbers.reduce((result, value) => {
    result.push(value * 2);
    return result;
  }, []);
}

Для [1,2,3] получится [2,4,6], а исходник останется прежним. Изменять свежий аккумулятор допустимо: это не мутация входного массива. Копирование через [...result, value * 2] на каждом шаге создавало бы лишнюю квадратичную работу. Пустой вход даёт [], пропуски разреженного массива reduce пропускает.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее