Inves da saida do array listado, esses indices estão sendo a saida no console, por mais que eu leia o codigo varias vezes não consigo entender onde errei. Help!!
Inves da saida do array listado, esses indices estão sendo a saida no console, por mais que eu leia o codigo varias vezes não consigo entender onde errei. Help!!
Oi, Robson! Tudo bem?
O problema está ocorrendo pois no if e else da função está sendo atribuído de listaFinal[atual]
à posicaoAtualLista1
e posicaoAtualLista2
ao invés de à produtoAtualLista1
e produtoAtualLista2
. Dessa forma, estamos atribuindo o índice (posicaoAtualLista1
) em vez do produto (produtoAtualLista1
) da lista 1 à lista final, por exemplo, o que significa que a lista final conterá índices em vez dos objetos reais.
Devido a isso, para contornarmos o problema basta fazermos essa alteração, deixando esse trecho de código da seguinte maneira:
if (produtoAtualLista1.preco < produtoAtualLista2.preco) {
listaFinal[atual] = produtoAtualLista1;
posicaoAtualLista1++;
} else {
listaFinal[atual] = produtoAtualLista2;
posicaoAtualLista2++;
}
Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!