Está aparecendo isso no console. Não consegui encontrar o erro. Quando faço um
console.log(listaArray[0].preco)
retorna o valor do preço do primeiro item direitinho. No entanto, quando rodo o código todo como na aula aparece esse erro.
O código está assim:
const listaLivros = require("./listaLivros-mergeSort");
function mergeSort(array) {
if (array.length > 1) {
const meio = Math.floor(array.length / 2);
const parte1 = mergeSort(array.slice(0, meio));
const parte2 = mergeSort(array.slice(meio, array.length));
array = ordena(parte1, parte2);
}
return array;
}
function ordena(parte1, parte2){
let posicaoAtualParte1 = 0;
let posicaoAtualParte2 = 0;
const resultado = [];
while(posicaoAtualParte1 < parte1.length && posicaoAtualParte2 < parte2.length){
let produtoAtualParte1 = parte1[posicaoAtualParte1];
let produtoAtualParte2 = parte2[posicaoAtualParte2];
if(produtoAtualParte1.preco < produtoAtualParte2.preco){
resultado.push(produtoAtualParte1)
posicaoAtualParte1 ++;
} else{
resultado.push(posicaoAtualParte2);
posicaoAtualParte2 ++;
}
}
return resultado.concat(posicaoAtualParte1 < parte1.length ? parte1.slice(posicaoAtualParte1) : parte2.slice(posicaoAtualParte2));
}
console.log(mergeSort(listaLivros))