Olá,
Vendo a aula sobre funções, o instrutor abordou que podemos passar comportamentos para funções:
function percorreArray(array, comportamento){
for (var i = 0; i < array.length; i++) {
comportamento(array[i]);
}
}
Resolvi fazer alguns testes. Criei a função acima e defini 3 arrays:
numeros = [0, 1, 2, 5, 7, 8, 4, 3];
tudo = ["maçã", 45, "banana", true, false, "João", 1, 0];
multiplicadores = [1, 2, 3, 4];
Comecei a brincar um pouco com algumas coisas bem básicas mesmo:
percorreArray(numeros, function(numero){
console.log("Tá na vez do: " + numero);
});
*/
percorreArray(tudo, function(algo){
if (typeof algo == 'string') {
console.log(algo + " é uma string!");
}else if (typeof algo == 'number') {
console.log(algo + " é um number!");
}else if (typeof algo == 'boolean') {
console.log(algo + " é um boolean");
}
});
Então tive a dúvida se eu conseguiria chamar uma função dentro dela mesma. O que acontece é que minha função é um loop. Tudo funcionou perfeitamente, mas o que eu quero saber é se é uma boa prática chamar uma função dentro dela mesmo (mesmo se for um loop acontecendo dentro de outro loop)?
percorreArray(multiplicadores, function(numero){
multiplicandos = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
percorreArray(multiplicandos, function(multiplicandoAtual){
console.log(numero + " * " + multiplicandoAtual + " = " + numero * multiplicandoAtual)
});
});