Segue meu código:
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
}
}
return resultado.concat(posicaoAtualParte1 < parte1.length
? parte1.slice(posicaoAtualParte1)
: parte2.slice(posicaoAtualParte2))
}
console.log(mergeSort(listaLivros));
Segue o erro:
#
Fatal error in , line 0
Fatal JavaScript invalid size error 169220804
# # #
#FailureMessage Object: 000000EEE22FE820 1: 00007FF640AD7A1F v8::internal::CodeObjectRegistry::~CodeObjectRegistry+114207 2: 00007FF6409F3E9F std::basic_ostream<char,std::char_traits >::operator<<+65023 3: 00007FF6416D27A2 V8_Fatal+162 4: 00007FF6412565F5 v8::internal::FactoryBasev8::internal::Factory::NewFixedArray+101 5: 00007FF6410FFBB3 v8::internal::FeedbackNexus::ic_state+62771 6: 00007FF641116710 v8::Context::GetIsolate+15840 7: 00007FF640F8A261 v8::internal::CompilationCache::IsEnabledScriptAndEval+26913 8: 00007FF641428FC1 v8::internal::SetupIsolateDelegate::SetupHeap+494417 9: 00000270590C9B36