Funzioni di callback in JavaScript

Le funzioni possono essere passate come parametri ad altre funzioni. Tali funzioni-parametro sono chiamate callback (callback). Diamo un'occhiata al loro funzionamento con un esempio.

Supponiamo di voler creare una funzione che accetti come primo parametro un array, e come secondo - una callback, che verrà applicata a ogni elemento dell'array:

javascriptfunction each(arr, callback) {
  // qui del codice
}

Scriviamo l'implementazione della nostra funzione:

javascriptfunction each(arr, callback) {
  let result = [];
  
  for (let elem of arr) {
    result.push( callback(elem) ); // chiamiamo la funzione di callback
  }
  
  return result;
}

La nostra funzione each è universale. Ciò significa che possiamo passarle diverse callback, eseguendo diverse operazioni sugli array. In questo caso il codice della nostra funzione rimarrà invariato - cambieranno solo le callback passate.

Facciamo un esempio: utilizzando la nostra funzione eleviamo al quadrato ogni elemento di un array. Per fare questo, passiamo come parametro la callback corrispondente:

javascriptlet result = each([1, 2, 3, 4, 5], function(num) {
  return num ** 2;
});

console.log(result);

Ora eleviamo gli elementi dell'array al cubo. Per fare questo, passeremo come parametro un'altra callback, che esegue questa operazione:

javascriptlet result = each([1, 2, 3, 4, 5], function(num) {
  return num ** 3;
});

console.log(result);
Задание 1

Dato un array di numeri. Utilizzando la funzione each che abbiamo creato, raddoppia ogni elemento.

Задание 2

Dato un array di stringhe. Utilizzando la funzione each che abbiamo creato, inverti i caratteri di ogni stringa in ordine inverso.

Задание 3

Dato un array di stringhe. Utilizzando la funzione each che abbiamo creato, rendi maiuscolo il primo carattere di ogni stringa.