Funcții callback în JavaScript

Funcțiile pot fi transmise ca parametri altor funcții. Astfel de funcții-parametri se numesc callback-uri (callback). Să vedem cum funcționează cu un exemplu.

Să presupunem că vrem să facem o funcție care primeste primul parametru ca un array, iar al doilea - un callback, care va fi aplicat fiecărui element al array-ului:

javascriptfunction each(arr, callback) {
  // aici este ceva cod
}

Să scriem implementarea funcției noastre:

javascriptfunction each(arr, callback) {
  let result = [];
  
  for (let elem of arr) {
    result.push( callback(elem) ); // apelăm funcția-callback
  }
  
  return result;
}

Funcția noastră each este universală. Aceasta înseamnă că îi putem transmite diverse callback-uri, efectuând diferite operații asupra array-urilor. În acest timp codul funcției noastre va rămâne neschimbat - se vor schimba doar callback-urile transmise.

Să exemplificăm, folosind funcția noastră, ridicăm la pătrat fiecare element al unui array. Pentru aceasta vom transmite ca parametru callback-ul corespunzător:

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

console.log(result);

Și acum să ridicăm elementele array-ului la cub. Pentru aceasta ca parametru vom transmite deja un alt callback, care efectuează această operație:

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

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

Este dat un array cu numere. Cu ajutorul funcției create de noi each măriți fiecare element de două ori.

Задание 2

Este dat un array cu șiruri. Cu ajutorul funcției create de noi each inversați caracterele fiecărui șir în ordine inversă.

Задание 3

Este dat un array cu șiruri. Cu ajutorul funcției create de noi each faceți majusculă primul caracter al fiecărui șir.