Pessoal poderia me dar uma direção de onde estou errando?
const listaLivros = require('./arrays2');
function mergeSort(array) {
if(array.length > 1) {
const meioArray = Math.floor(array.length/2);
const part1 = mergeSort(array.slice(0, meioArray));
const part2 = mergeSort(array.slice(meioArray, array.length));
array = ordenar(part1, part2);
};
return array;
};
function ordenar(part1, part2) {
let posicaoAtualParte1 = 0;
let posicaoAtualParte2 = 0;
let resultado = [];
while(posicaoAtualParte1 < part1.length && posicaoAtualParte2 < part2.length) {
let produtoAtualParte1 = part1[posicaoAtualParte1];
let produtoAtualParte2 = part2[posicaoAtualParte2];
if(produtoAtualParte1.preco < produtoAtualParte2.preco) {
resultado.push(produtoAtualParte1);
posicaoAtualParte1++;
}else{
resultado.push(posicaoAtualParte2);
posicaoAtualParte2++;
}
}
return resultado.concat(posicaoAtualParte1 < part1.length
? part1.slice(posicaoAtualParte1)
: part2.slice(posicaoAtualParte2));
};
console.log(mergeSort(listaLivros));
RESULTADO DO CONSOLE:
[ 0, 1, 2, 3, 4, 5, 0, 1, 2, 0, { titulo: 'Go', preco: 45 } ]