6
respostas

duvida

eu nao coloquei o .preco no meu codigo na parte de comparação das duas listas, e o engraçado é q n deu erro de sintaxe, e curiosamente o algoritmo estava definindo sempre q a 1 lista era sempre menor q a 2, afinal, o que ele estava comparando no fim das contas? Só para fins de curiosidades mesmo

6 respostas

Coloca seu código aqui.

const livros = require('./lista');
const livros2 = require('./lista2');
const listaordenada = [];

function juntaduaslistasordenadas (arr, arr2){
    var i = 0;
    var o = 0;
    while(i<arr.length 
        && o < arr2.length){
                            if(arr[i] <= arr2[o]){
                                                listaordenada.push(arr[i]);
                                                i++;
                                                    }else{
                                                        listaordenada.push(arr2[o]);
                                                        o++;
                                                    }
                                                 }
while(i<arr.length 
    || o < arr2.length){
if(arr[arr.length]<=arr2[arr2.length]){
    listaordenada.push(arr[i]);
    i++;
}else{
    listaordenada.push(arr2[o]);
    o++;
}
    }
                                                }

juntaduaslistasordenadas(livros, livros2);
console.log(listaordenada);

os codigos dos arrays

const licros2 = [

    {
        titulo:'phyton',
        preco:20
    },
    {
        titulo:'rust',
        preco:22
    },
    {
        titulo:'ruby',
        preco:28
    },
    {  
        titulo:'C#',
        preco:33
    },
    {
        titulo:'C++',
        preco:35
    },
    {
        titulo:'Scala',
        preco:39
    }
];

module.exports = licros2;
const livros1 = [
    {
        titulo:'PHP', 
        preco:15
    },
    {
        titulo:'javascript',
        preco:25
    },
    {
        titulo:'java',
        preco:30
    },
    {
        titulo:'go',
        preco:45
    },
    {
        titulo:'elixir',
        preco:50
    }
];

module.exports = livros1;

Vitor,

Notei que você exportou os objetos como Licros2, e em seu cód você menciona Livros2. Tenta isto. Caso não funcione posta o erro, lembre-se o erro fala muito sobre os problemas de seu cód.

nao no caso não é isso, pq eu importo pra uma variavel atravez do require mais o nome do arquivo, e ae ele busca no arquivo oq foi importado, mas assim é igual expliquei no inicio do post, eu ja encontrei o erro no arquivo, é só mandar o if comparar com a propriedade preço "if(arr[i].preco <= arr2[o].preco)" Minha duvidade de fato é porque o arquivo esta considerando sempre o primeiro arquivo como menor, sendo que nao tem nada pra ele comparar, é mais uma duvida didática, pra entender melhor oq esta acontecendo no algoritimo.