📢 Nuovo Corso Laravel API disponibile!

Esercizi Funzioni Callback Javascript

Ecco degli esercizi semplici con soluzione per praticare le basi delle funzioni callback in Javascript.

Esercizio 1

Definire una funzione che accetta un callback e lo richiama:
function eseguiCallback(callback) {
callback();
}
function mioCallback() {
console.log("Eseguo il callback!");
}
eseguiCallback(mioCallback);

Esercizio 2

Definire una funzione che accetta un valore e un callback, e richiama il callback passando il valore come argomento:
function utilizzaCallback(valore, callback) {
callback(valore);
}
function mioCallback(valore) {
console.log("Valore ricevuto:", valore);
}
utilizzaCallback(42, mioCallback);

Esercizio 3

Simulare una chiamata asincrona utilizzando un setTimeout e un callback:
function chiamataAsincrona(callback) {
setTimeout(function () {
callback("Risposta dalla chiamata asincrona");
}, 2000);
}
function mioCallback(risposta) {
console.log("Risposta ricevuta:", risposta);
}
chiamataAsincrona(mioCallback);

Esercizio 4

Definire una funzione che accetta un array e un callback, e richiama il callback per ogni elemento dell'array:
function elaboraArray(array, callback) {
for (let i = 0; i < array.length; i++) {
callback(array[i]);
}
}
function mioCallback(elemento) {
console.log("Elemento:", elemento);
}
const array = [1, 2, 3, 4, 5];
elaboraArray(array, mioCallback);

Esercizio 5

Utilizzare un callback per ordinare un array di oggetti:
const persone = [
{ nome: "Alice", eta: 25 },
{ nome: "Bob", eta: 30 },
{ nome: "Charlie", eta: 20 },
];
function confrontaEta(a, b) {
return a.eta - b.eta;
}
persone.sort(confrontaEta);
console.log(persone);

Esercizio 6

Utilizzare un callback per filtrare gli elementi di un array:
const numeri = [1, 2, 3, 4, 5];
function filtraPari(numero) {
return numero % 2 === 0;
}
const numeriPari = numeri.filter(filtraPari);
console.log(numeriPari);

Esercizio 7

Utilizzare un callback per calcolare la somma degli elementi di un array:
const numeri = [1, 2, 3, 4, 5];
function sommaElementi(total, numero) {
return total + numero;
}
const somma = numeri.reduce(sommaElementi, 0);
console.log("Somma:", somma);

Esercizio 8

Utilizzare un callback per mappare gli elementi di un array a nuovi valori:
const numeri = [1, 2, 3, 4, 5];
function raddoppia(numero) {
return numero * 2;
}
const numeriRaddoppiati = numeri.map(raddoppia);
console.log(numeriRaddoppiati);

Esercizio 9

Utilizzare un callback per eseguire un'azione su ogni carattere di una stringa:
const stringa = "Hello, world!";
function stampaCarattere(carattere) {
console.log(carattere);
}
Array.from(stringa).forEach(stampaCarattere);

Esercizio 10

Utilizzare un callback per simulare la gestione degli errori in una finta chiamata asincrona:
function eseguiChiamata(callbackSuccesso, callbackErrore) {
// Simulazione di una chiamata asincrona
const esito = Math.random() < 0.5;
if (esito) {
callbackSuccesso("Chiamata riuscita");
} else {
callbackErrore("Errore durante la chiamata");
}
}
function callbackSuccesso(risposta) {
console.log("Successo:", risposta);
}
function callbackErrore(errore) {
console.error("Errore:", errore);
}
eseguiChiamata(callbackSuccesso, callbackErrore);