1
resposta

Não está comparando as listas

As listas não estão comparando os valores entre elas, somente entre seus proprios itens e o ultimo item da lista não esta sendo colocado na lista final. arrays.js

const edFolha =[
    {
        titulo:"PHP",
        preco:15
    },
    {
        titulo:"JavaScript",
        preco:25
    },
    {
        titulo:"Java",
        preco:30
    },
    {    
        titulo:"Go",
        preco:45
    },
    {
        titulo:"Elixir",
        preco:50
    }
]

const edGalho = [
    {
        titulo: "Python",
        valor: 20
    },
    {
        titulo: "Rust",
        valor: 22
    },
    {
        titulo: "Ruby",
        preco: 28
    },
    {
        titulo: "C#",
        preco: 33
    },
    {
        titulo: "C++",
        preco: 35
    }
]

module.exports = {edFolha, edGalho}

index.js

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

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

    while (posList1 < lista1.length && posList2 < lista2.length){
        let ProdList1 = lista1[posList1];
        let ProdList2 = lista2[posList2];
        console.log(`comparando ${ProdList1.titulo} com ${ProdList2.titulo}`)


        if (ProdList1.preco < ProdList2.preco){
            listaFinal[atual] = ProdList1;
            posList1++;
        } else{
            listaFinal[atual] = ProdList2;
            posList2++;
        }

        atual++;
    }
    while (posList1 < lista1.length){
        listaFinal[atual] = lista1[posList1];
        posList1++;
        atual++
    }
    while (posList2 < lista2.length){
        listaFinal[atual] = lista2[posList2];
        posList2++;
        atual++
    }
    return listaFinal;
}

console.log(juntaListas(edGalho, edFolha))

terminal Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Italo! Tudo bem?

Desculpa pela demora para responder o seu tópico.

Para corrigir isso, você precisa mudar o nome da propriedade "valor" para "preco" na lista edGalho nos dois primeiros itens, para que a comparação seja feita corretamente.

Espero ter ajudado. Caso tenha mais dúvidas ou problemas com relação a este tópico, estarei à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.