Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre o vídeo 3 da aula 05 JavaScript

Consegui entender os dois primeiros vídeos, mas na parte em que é inserido mais duas páginas no código, comecei a ficar confuso. Não entendi muito bem como o percorre.js e imprime-nome.js funcionam. Se alguém puder me explicar, ficaria agradecido. E não entendi praticamente nada dessa parte, então melhor ainda se puderem explicar tudo, mesmo que seja de uma forma geral, só explicando a lógica que foi aplicada. c:

2 respostas
solução!

Olá Lucas, tudo bem? Também sou novato em JS, mas vou tentar te ajudar onde fiquei perdido. Basicamente o que ele fez foi separar o código em uma nova função.

Ele criou uma função chamada percorreArray e indicou 2 parâmetros de entrada para ela que ele chamou de (trsPacientes e comportamento). Ou traduzindo:

function percorreArray(array, funcao){
}

Na sequência, ele inseriu código nesta função percorrendo cada linha do array e rodando a função

function percorreArray(array, funcao){

    //Esta parte percorrerá cada linha do array
    for(var indice = 0; indice <array.length; indice++){
        funcao()
    }

}

Pense que se nada for passado a esta função, ela executará a mesma coisa para todo mundo, pois ela não está recebendo nada. Então, ele começa a passar cada paciente como parâmetro da funçao

function percorreArray(array, funcao){

    //Esta parte percorrerá cada linha do array
    for(var indice = 0; indice <array.length; indice++){

        //Então separa a linha que está sendo processada
                linhaDoArray = array[indice];

        //Passa essa linha como parâmetro da função.
        funcao(linhaDoArray)
    }

}

A função que ele gerou (imprimeNome), ela recebe uma linha do array e faz o processamento. Então dentro daquele loop acima, ele simplesmente chama para cada paciente essa função, passando as informações do paciente.

Se o array dele tiver 2 pacientes, ele chamará a função 2 vezes, passando em cada uma delas um paciente distinto.

Ok, isso me ajudou bastante, muito obrigado. Não entendi 100% ainda, mas já é alguma coisa, essa parte de fragmentar funções e colocar uma dentro das outras me confunde um pouco, mas acho que agora vai.