Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
33
Создание чистых функций для генерации пользователя и выполнения сложения
Условие задачи
Требуется переписать функции createUser и add так, чтобы они стали чистыми: не влияли на внешнее состояние и не вызывали побочных эффектов, а вместо этого возвращали новые данные.
// 1
const produceId = () => Math.floor(Math.random() * 10000);
const createUser = (userName: string, userAge: number) => ({
id: produceId(),
name: userName,
age: userAge
});
console.log(createUser("Alex", 28));
console.log(createUser("Alex", 28));
console.log(createUser("Alex", 28));
// 2
let counter = 2;
const add = (value: number) => {
counter += value;
};
add(4);
console.log(counter);
Задача состоит в том, чтобы избавиться от изменения глобальной переменной counter и от скрытого использования случайного генератора внутри createUser. Функция создания пользователя должна возвращать объект без изменения внешних данных, а функция сложения должна возвращать новое значение вместо изменения counter.