Funciones callback en JavaScript

Las funciones se pueden pasar como parámetros a otras funciones. Estas funciones-parámetro se denominan callbacks (callback). Veamos cómo trabajar con ellas mediante un ejemplo.

Supongamos que queremos hacer una función que, como primer parámetro, reciba un array, y como segundo, un callback, que aplicará a cada elemento del array:

javascriptfunction each(arr, callback) {
  // aquí hay algún código
}

Escribamos la implementación de nuestra función:

javascriptfunction each(arr, callback) {
  let result = [];
  
  for (let elem of arr) {
    result.push( callback(elem) ); // llamamos a la función callback
  }
  
  return result;
}

Nuestra función each es universal. Esto significa que podemos pasarle diferentes callbacks, realizando diferentes operaciones sobre los arrays. Al mismo tiempo, el código de nuestra función permanecerá inalterado - solo cambiarán los callbacks que se pasen.

Como ejemplo, usemos nuestra función para elevar al cuadrado cada elemento de un array cualquiera. Para ello, pasaremos como parámetro el callback correspondiente:

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

console.log(result);

Y ahora elevemos los elementos del array al cubo. Para ello, pasaremos como parámetro otro callback diferente, que realice esta operación:

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

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

Dado un array con números. Usando la función each que creamos, duplique cada elemento.

Задание 2

Dado un array con cadenas. Usando la función each que creamos, invierta los caracteres de cada cadena en orden inverso.

Задание 3

Dado un array con cadenas. Usando la función each que creamos, ponga en mayúscula el primer carácter de cada cadena.