⊗jsPmFNClb 255 of 505 menu

Funções de Callback em JavaScript

Funções podem ser passadas como parâmetros para outras funções. Tais funções-parâmetro são chamadas de callbacks (callback). Vamos ver como trabalhar com elas através de um exemplo.

Suponha que queremos fazer uma função que, pelo primeiro parâmetro, receberá um array, e pelo segundo - um callback, que será aplicado a cada elemento do array:

function each(arr, callback) { // algum código aqui }

Vamos escrever a implementação da nossa função:

function each(arr, callback) { let result = []; for (let elem of arr) { result.push( callback(elem) ); // chamamos a função de callback } return result; }

Nossa função each é universal. Isso significa que podemos passar para ela diferentes callbacks, executando diferentes operações sobre os arrays. Ao mesmo tempo, o código da nossa função permanecerá inalterado - apenas os callbacks passados é que mudarão.

Vamos, por exemplo, usar nossa função para elevar ao quadrado cada elemento de um array qualquer. Para isso, passaremos como parâmetro o callback correspondente:

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

Agora, vamos elevar os elementos do array ao cubo. Para isso, passaremos como parâmetro um callback diferente, que executa esta operação:

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

Dado um array com números. Usando a função each que criamos, dobre cada elemento.

Dado um array com strings. Usando a função each que criamos, inverta os caracteres de cada string em ordem reversa.

Dado um array com strings. Usando a função each que criamos, torne maiúscula a primeira letra de cada string.

bnswkkfrms