2
respostas

break

pessoal pq é importante o existe receber true? nao da para ir ao break direto?

var existe = false;

        for( var posicao = 0; posicao < ingredientes.length; posicao++) {

            if( ingredientes[posicao] == ingrediente) {

                existe = true;
                break;

obrigado

2 respostas

Boa noite, Georg!

Uma das finalidades do programa é não incluir ingredientes repetidos no array, por isso, se for para o break direto, a variável existe ainda conterá o valor de "false", fazendo com que o ingrediente já existente entre no array.

Dessa forma, o ingrediente continuará como não existindo fazendo com que ele entre no array.

var existe = false; //Ingrediente ainda não existente

        for( var posicao = 0; posicao < ingredientes.length; posicao++) {

            if( ingredientes[posicao] == ingrediente) { //Identificado que o ingrediente já existe no array

                existe = true;  //O ingrediente existente no array, por isso não entrará no array.
                break; // Sai do laço "for()..."

O comando break é uma forma não usual de parar uma estrutura de repetição. A melhor forma de implementar esse código seria utilizando 2 condições de paradas no "for"

var existe = false; //Ingrediente ainda não existente

        for( var posicao = 0; posicao < ingredientes.length || existe==true; posicao++) 
{

            if( ingredientes[posicao] == ingrediente) { //Identificado que o ingrediente já existe no array

                existe = true;  //O ingrediente existente no array, por isso não entrará no array.
 }