Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

forEach() X for()

Fiquei com uma grande duvida sobre o uso do objeto.forEach(function(erro){}). Consegui fazer o exercício com ambos, porém, a explicação do forEach achei complexa. Alguem saberia explicar de outra maneira?

Versão forEach()

function exibeMensagensDeErro(erros){
    var ul = document.querySelector("#mensagens-erro");

    ul.innerHTML = "";

    erros.forEach(function(erro){
        var li = document.createElement("li");
        li.textContent = erro;
        ul.appendChild(li);
    })
}

Verão com o for()

function exibeMensagensDeErro(erros){
    var ul = document.querySelector("#mensagens-erro");
    for(var i = 0; i < erros.length; i++){
        var erro = erros[i];
        var li = document.createElement("li");
        li.textContent = erro;
        ul.appendChild(li);
    }
}
1 resposta
solução!

Ambos te dão o mesmo resultado, porém no for você não acessa diretamente os objetos da lista, no caso você percorre os índices e em cada iteração você recupera da lista o objeto.

No forEach você acessa diretamente o objeto sem se preocupar em recuperá-lo, além disso você pode recuperar o valor de index da posição do elemento:

erros.forEach(function(erro,index){
    console.log("O erro:"+erro+" está na posição "+index+" da lista de erros!");
});

Basicamente essa é a diferença.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software