Pessoal, podem me ajudar? O meu código está retornando um objeto vazio no resultado e não sei o que fazer.
ARQUIVO ARRAY.JS
const listaLivros = [
{ titulo: "JavaScript", preco: 20 },
{ titulo: "Python", preco: 15 },
{ titulo: "Java", preco: 30 },
{ titulo: "C++", preco: 25 },
{ titulo: "Ruby", preco: 10 },
{ titulo: "Go", preco: 35 }
];
ARQUIVO MERGESORT.JS
const listaLivros = require('./array');
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(produtoAtualParte2);
posicaoAtualParte2++;
}
}
}
console.log(mergeSort(listaLivros));
RESULTADO NO TERMINAL: