17 варіантів для самостійного розв'язання
Перетворіть звичайну функцію на стрілкову:
function multiply(a, b) {
return a * b;
}
const multiply = (a, b) => a * b;
Створіть функцію, яка приймає число та callback, і викликає callback з квадратом цього числа.
function processNumber(num, callback) {
callback(num * num);
}
// Використання:
processNumber(5, (result) => console.log(result)); // 25
Перетворіть на стрілкову функцію, яка повертає поточну дату:
function getCurrentDate() {
return new Date();
}
const getCurrentDate = () => new Date();
Створіть функцію filterArray, яка приймає масив та callback, і повертає новий масив з елементами, для яких callback повертає true.
function filterArray(arr, callback) {
const result = [];
for (let i = 0; i < arr.length; i++) {
if (callback(arr[i])) {
result.push(arr[i]);
}
}
return result;
}
// Або з використанням вбудованого filter:
const filterArray = (arr, callback) => arr.filter(callback);
Перетворіть на стрілкову функцію:
function double(x) {
return x * 2;
}
const double = x => x * 2;
Створіть функцію divide, яка приймає два числа та два callback: для успіху та помилки. Якщо дільник = 0, викликає callback помилки.
function divide(a, b, onSuccess, onError) {
if (b === 0) {
onError("Ділення на нуль!");
} else {
onSuccess(a / b);
}
}
// Використання:
divide(10, 2,
(result) => console.log("Результат:", result),
(error) => console.log("Помилка:", error)
);
Перетворіть на стрілкову функцію (з фігурними дужками):
function checkAge(age) {
if (age >= 18) {
return "Повнолітній";
} else {
return "Неповнолітній";
}
}
const checkAge = (age) => {
if (age >= 18) {
return "Повнолітній";
} else {
return "Неповнолітній";
}
};
Створіть функцію delayedMessage, яка приймає текст, затримку та callback, і викликає callback з текстом після затримки.
function delayedMessage(message, delay, callback) {
setTimeout(() => {
callback(message);
}, delay);
}
// Використання:
delayedMessage("Привіт через 2 секунди!", 2000, (msg) => console.log(msg));
Створіть стрілкову функцію, яка повертає об'єкт з полями name та age (використайте круглі дужки).
const createPerson = (name, age) => ({ name, age });
// Використання:
const person = createPerson("Іван", 25);
console.log(person); // {name: "Іван", age: 25}
Створіть функцію calculate, яка приймає два числа та callback з операцією, і повертає результат.
function calculate(a, b, operation) {
return operation(a, b);
}
// Використання:
const result = calculate(10, 5, (x, y) => x + y);
console.log(result); // 15
Використайте стрілкову функцію як callback в методі map для подвоєння кожного елемента масиву.
const numbers = [1, 2, 3, 4, 5];
// Ваш код тут
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8, 10]
Створіть функцію processUser, яка приймає об'єкт користувача та callback, і викликає callback з ім'ям та віком користувача.
function processUser(user, callback) {
callback(user.name, user.age);
}
// Використання:
const user = { name: "Марія", age: 30 };
processUser(user, (name, age) => {
console.log(`Ім'я: ${name}, Вік: ${age}`);
});
Створіть стрілкову функцію, яка приймає об'єкт з полями width та height, і повертає площу.
const calculateArea = ({ width, height }) => width * height;
// Використання:
const rectangle = { width: 10, height: 5 };
console.log(calculateArea(rectangle)); // 50
Створіть функцію, яка приймає число та два callback. Спочатку викликає перший callback з числом, потім другий з результатом.
function processNumber(num, callback1, callback2) {
const result1 = callback1(num);
callback2(result1);
}
// Використання:
processNumber(
5,
(x) => x * x, // 25
(y) => console.log(y + 10) // 35
);
Створіть стрілкову функцію greet, яка приймає ім'я та привітання (за замовчуванням "Привіт"), і повертає рядок.
const greet = (name, greeting = "Привіт") => `${greeting}, ${name}!`;
// Використання:
console.log(greet("Олександр")); // "Привіт, Олександр!"
console.log(greet("Олена", "Добрий день")); // "Добрий день, Олена!"
Створіть функцію findInArray, яка приймає масив та callback-умову, і повертає перший елемент, що задовольняє умову.
function findInArray(arr, condition) {
for (let i = 0; i < arr.length; i++) {
if (condition(arr[i])) {
return arr[i];
}
}
return null;
}
// Використання:
const numbers = [1, 3, 5, 8, 10];
const result = findInArray(numbers, (num) => num > 5);
console.log(result); // 8
Створіть дві стрілкові функції: одна повертає іншу функцію, яка множить число на заданий множник.
const createMultiplier = (multiplier) => (number) => number * multiplier;
// Використання:
const double = createMultiplier(2);
const triple = createMultiplier(3);
console.log(double(5)); // 10
console.log(triple(5)); // 15