⊗jsPmFNClb 255 of 505 menu

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:

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

Escribamos la implementación de nuestra función:

function 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:

let 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:

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

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

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

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

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar