Fiz igual, mas não esta puxando os dois ultimos livros que sobraram na lista Ed Folha. O meu codigo ficou como abaixo. Por favor, alguem consegue me ajudar, pois não achei onde estou errando.
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.lenght) {
listaFinal[atual] = lista1[posicaoAtualLista1]
posicaoAtualLista1++;
atual++;
}
while(posicaoAtualLista2 < lista2.lenght) {
listaFinal[atual] = lista2[posicaoAtualLista2]
posicaoAtualLista2++;
atual++;
}
return listaFinal;
}
console.log(juntaListas(edGalho, edFolha))
O resultado é:
[ { titulo: 'PHP', preco: 15 }, { titulo: 'Python', preco: 20 }, { titulo: 'Rust', preco: 22 }, { titulo: 'JavaScript', preco: 25 }, { titulo: 'Ruby', preco: 28 }, { titulo: 'Java', preco: 30 }, { titulo: 'C#', preco: 33 }, { titulo: 'C++', preco: 35 }, { titulo: 'Scala', preco: 40 } ]