6
respostas

função require deu errro, peço ajuda

gostaria de pedir ajuda,a opção require está dando erro

const{ edFolha, edGalho }= require('./arrys.js');

function    juntalistas(lista1,lista2){
    let listaFinal= [];
   let posicaoAtualLista1= 0;
   let posicaoAtualLista2= 0;
   let atual= 0;
    while(posicaoAtualLista1 < lista.length && posicaoAtualLista2< lista2.length){
        let produtoAtualizadoLista1 = lista1[posicaoAtualLista1];
        let produtoAtualizadoLista2 = lista2[posicaoAtualLista2];
        if(produtoAtualizadoLista1.preco< produtoAtualizadoLista2. preco){
            listaFinal[atual]= produtoAtualizadoLista1; posicaoAtualLista1++;
        }else{

            listaFinal[atual]= produtoAtualizadoLista2; posicaoAtualLista2++;

        }

        atual++;
    }

    return  listaFinal;


}
console.log(juntalistas[edGalho], [edFolha]);
6 respostas

Oi, Kelvin, tudo bem?

Qual erro está dando? Acho que talvez não seja no require, pois encontrei alguns erros durante a leitura do seu código.

Aqui está o código corrigido:

const { edGalho, edFolha } = require('./arrays');

function juntaListas(lista1, lista2) {
  let listaFinal = [];
  let posicaoAtualLista1 = 0;
  let posicaoAtualLista2 = 0;
  let atual = 0;

  while (posicaoAtualLista1 < lista1.length && posicaoAtualLista2 < lista2.length) {
    let produtoAtualLista1 = lista1[posicaoAtualLista1];
    let produtoAtualLista2 = lista2[posicaoAtualLista2];

    if (produtoAtualLista1.preco < produtoAtualLista2.preco) {
      listaFinal[atual] = produtoAtualLista1;
      posicaoAtualLista1++;
    } else {
      listaFinal[atual] = produtoAtualLista2;
      posicaoAtualLista2++;
    }

    atual++;
  }

  while (posicaoAtualLista1 < lista1.length) {
    listaFinal[atual] = lista1[posicaoAtualLista1];
    posicaoAtualLista1++;
    atual++;
  }

  while (posicaoAtualLista2 < lista2.length) {
    listaFinal[atual] = lista2[posicaoAtualLista2];
    posicaoAtualLista2++;
    atual++;
  }

  return listaFinal;
}

console.log(juntaListas(edGalho, edFolha))

Fico no aguardo.

Abraços e bons estudos!

o modelo que vc me passou funcionou, porém a professora não usou o while tres vezes foi uma só

fiz de duas maneiras, uma com mais whiles, outra com menos

function juntaListas(lista1, lista2) {
    let lista_principal = [];
    let posicaoAtualLista_1 = 0;
    let posicaoAtualLista_2 = 0;
    let tamanho_lista1 = lista1.length;
    let tamanho_lista2 = lista2.length;
    while(posicaoAtualLista_1 < tamanho_lista1 || posicaoAtualLista_2 < tamanho_lista2){
        let item_lista1 = lista1[posicaoAtualLista_1]
        let item_lista2 = lista2[posicaoAtualLista_2]
        if (posicaoAtualLista_1 < tamanho_lista1 && posicaoAtualLista_2 < tamanho_lista2 && item_lista1.preco < item_lista2.preco){
            lista_principal.push(item_lista1)
            posicaoAtualLista_1++
        } else if(posicaoAtualLista_2 < tamanho_lista2 && posicaoAtualLista_1 < tamanho_lista1 && item_lista1.preco > item_lista2.preco){
            lista_principal.push(item_lista2)
            posicaoAtualLista_2++
        }
        if (posicaoAtualLista_2 < tamanho_lista2 && posicaoAtualLista_1 === tamanho_lista1){
            lista_principal.push(item_lista2)
            posicaoAtualLista_2++
        } else if(posicaoAtualLista_1 < tamanho_lista1 && posicaoAtualLista_2 === tamanho_lista2){
            lista_principal.push(item_lista1)
            posicaoAtualLista_1++
        }

    }

    return lista_principal;
}
function juntaListas(lista1, lista2) {
    let lista_principal = [];
    let posicaoAtualLista_1 = 0;
    let posicaoAtualLista_2 = 0;
    let tamanho_lista1 = lista1.length;
    let tamanho_lista2 = lista2.length;
    while(posicaoAtualLista_1 < tamanho_lista1 && posicaoAtualLista_2 < tamanho_lista2){
        let item_lista1 = lista1[posicaoAtualLista_1]
        let item_lista2 = lista2[posicaoAtualLista_2]
        if (item_lista1.preco < item_lista2.preco){
            lista_principal.push(item_lista1)
            posicaoAtualLista_1++
        }else{
            lista_principal.push(item_lista2)
            posicaoAtualLista_2++
        }
    }
    let item_lista1 = lista1[posicaoAtualLista_1]
    let item_lista2 = lista2[posicaoAtualLista_2]
    while (posicaoAtualLista_1 < tamanho_lista1){
        lista_principal.push(item_lista1)
        posicaoAtualLista_1++
    }
    while (posicaoAtualLista_2 < tamanho_lista2){
        lista_principal.push(item_lista2)
        posicaoAtualLista_2++
    }

    return lista_principal;
}

Qual foi o erro que cometi

const{ edFolha, edGalho }= require('./arrys.js');

function    juntalistas(lista1,lista2){
    let listaFinal= [];
   let posicaoAtualLista1= 0;
   let posicaoAtualLista2= 0;
   let atual= 0;
    while(posicaoAtualLista1 < LISTA1.length && posicaoAtualLista2< lista2.length){
        let produtoAtualizadoLista1 = lista1[posicaoAtualLista1];
        let produtoAtualizadoLista2 = lista2[posicaoAtualLista2];
        if(produtoAtualizadoLista1.preco< produtoAtualizadoLista2. preco){
            listaFinal[atual]= produtoAtualizadoLista1; posicaoAtualLista1++;
        }else{

            listaFinal[atual]= produtoAtualizadoLista2; posicaoAtualLista2++;

        }

        atual++;
    }
    if(posicaoAtualLista1 < lista1.lengh){listaFinal.concat(lista1.slice(posicaoAtualLista1))}
    if(posicaoAtualLista2 < lista2.lengh){listaFinal.concat(lista2.slice(posicaoAtualLista2))}
    return  listaFinal;


}
console.log(juntalistas[edGalho], [edFolha]);

Da uma olhada no codigo que implementei no seu, e olha o seu lengh em letra maiuscula que deixei em lista<< Ali daria erro no código e no final existem varios outros tipos para implementar os elementos faltantes, caso haja.

pelo que vi vc errou na lista do while "lista.length" nao existe,teria que ser "lista1.length"

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