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) //não entendi linha 9 a funcionalidade
}
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 = parte1[posicaoAtualParte2]
if(produtoAtualParte1.preco < produtoAtualParte2.preco){
resultado.push(produtoAtualParte1)
posicaoAtualParte1 ++
}else{
resultado.push(produtoAtualParte2)
posicaoAtualParte2 ++
}
}
return resultado.concat(posicaoAtualParte1 < parte1.length
? parte1.slice(posicaoAtualParte1)
: parte2.slice(posicaoAtualParte2))
}
console.log(mergeSort(produtosLivros))
olá galera, tentei fazer o mergeSort da aula sozinho, mas quando coloco pra executar aparece um erro. Error: /home/luciano/estudos de JavaScript/testes/node_b709296528d01.tmp:23 if(produtoAtualParte1.preco < produtoAtualParte2.preco){ ^
TypeError: Cannot read property 'preco' of undefined
comparei com o da aula e não vejo o erro!