В 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 пропускает.